@charset "UTF-8";
/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto; }

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: '';
  content: none; }

small, .small {
  font-size: 75%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0; }

dd {
  margin: 0; }

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px; }

ol,
ul {
  padding: 0;
  list-style-type: none; }

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

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

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.clearfix, .cf {
  zoom: 1; }
  .clearfix:before, .clearfix:after, .cf:before, .cf:after {
    content: "";
    display: table; }
  .clearfix:after, .cf:after {
    clear: both; }

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic; }

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
.bg-red {
  background-color: #fc3b3d;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-orange {
  background-color: #fda629;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-black {
  background-color: #000000;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-white {
  background-color: #fff;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-violet {
  background-color: #b480e5;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-blue {
  background-color: #0f5de5;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-pink {
  background-color: #e881aa;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-green {
  background-color: #1ab347;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

.bg-grey {
  background-color: #dfdfdf;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

/*
 i imported this one in the functions file so bones would look sweet.
 don't forget to remove it for your site.
*/
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  word-wrap: break-word;
  -webkit-hyphens: none;
      -ms-hyphens: none;
          hyphens: none;
  hyphenate-lines: 3;
  -webkit-font-feature-settings: "liga", "dlig";
          font-feature-settings: "liga", "dlig"; }

/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666; }

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

/* Links
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none; }

/*
 * Style
 */
a,
.uk-link {
  color: #f01d4f;
  text-decoration: none;
  cursor: pointer; }

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-link-toggle:focus .uk-link {
  color: #0f6ecd;
  text-decoration: underline; }

/* Text-level semantics
 ========================================================================== */
/*
 * 1. Add the correct text decoration in Edge.
 * 2. The shorthand declaration `underline dotted` is not supported in Safari.
 */
abbr[title] {
  /* 1 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
  -webkit-text-decoration-style: dotted; }

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

/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f8f8f8; }

/*
 * Emphasize
 */
em {
  color: #5c6b80; }

/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none; }

/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666; }

/*
 * Quote
 */
q {
  font-style: italic; }

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
 ========================================================================== */
/*
 * Remove the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * 1. Add responsiveness.
 * 2. Auto-scale the height. Only needed if `height` attribute is present.
 * 3. Corrects responsive `max-width` behavior if padding and border are used.
 * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
 */
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* 4 */
@supports (display: block) {
  svg {
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

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

/*
 * 1. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 * 2. Hide `alt` text for lazy loading images.
 * Note: Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  /* 1 */
  min-width: 1px;
  /* 2 */
  visibility: hidden; }

/*
 * Iframe
 * Remove border in all browsers
 */
iframe {
  border: 0; }

/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 0 0; }

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 0; }

/* Headings
 ========================================================================== */
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  margin: 0 0 0 0;
  font-family: "playfair-display";
  font-weight: normal;
  color: #000000;
  text-transform: none; }

/* Add margin if adjacent element */
* + h1, * + .uk-h1,
* + h2, * + .uk-h2,
* + h3, * + .uk-h3,
* + h4, * + .uk-h4,
* + h5, * + .uk-h5,
* + h6, * + .uk-h6,
* + .uk-heading-small,
* + .uk-heading-medium,
* + .uk-heading-large,
* + .uk-heading-xlarge,
* + .uk-heading-2xlarge {
  margin-top: 40px; }

/*
 * Sizes
 */
h1, .uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2; }

h2, .uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3; }

h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4; }

h4, .uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4; }

h5, .uk-h5 {
  font-size: 16px;
  line-height: 1.4; }

h6, .uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  h1, .uk-h1 {
    font-size: 2.625rem; }
  h2, .uk-h2 {
    font-size: 2rem; } }

/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 0; }

/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0; }

/* Description lists
 ========================================================================== */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Horizontal rules
 ========================================================================== */
/*
 * 1. Show the overflow in Chrome, Edge and IE.
 * 2. Add the correct text-align in Edge and IE.
 * 3. Style
 */
hr, .uk-hr {
  /* 1 */
  overflow: visible;
  /* 2 */
  text-align: inherit;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5; }

/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px; }

/* Address
 ========================================================================== */
address {
  font-style: normal; }

/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic;
  color: #333; }

/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px; }

/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0; }

blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #666; }
  blockquote footer::before {
    content: "— "; }

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  /* 1 */
  overflow: auto;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  background: #fff; }

pre code {
  font-family: Consolas, monaco, monospace; }

/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }
::selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }

/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block; }

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

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

/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.uk-breakpoint-s::before {
  content: "768px"; }

.uk-breakpoint-m::before {
  content: "1024px"; }

.uk-breakpoint-l::before {
  content: "1200px"; }

.uk-breakpoint-xl::before {
  content: "1600px"; }

:root {
  --uk-breakpoint-s: 768px;
  --uk-breakpoint-m: 1024px;
  --uk-breakpoint-l: 1200px;
  --uk-breakpoint-xl: 1600px; }

/* ========================================================================
   Component: Link
 ========================================================================== */
/* Muted
 ========================================================================== */
a.uk-link-muted,
.uk-link-muted a {
  color: #999; }

a.uk-link-muted:hover,
.uk-link-muted a:hover,
.uk-link-toggle:hover .uk-link-muted,
.uk-link-toggle:focus .uk-link-muted {
  color: #666; }

/* Text
 ========================================================================== */
a.uk-link-text,
.uk-link-text a {
  color: inherit; }

a.uk-link-text:hover,
.uk-link-text a:hover,
.uk-link-toggle:hover .uk-link-text,
.uk-link-toggle:focus .uk-link-text {
  color: #999; }

/* Heading
 ========================================================================== */
a.uk-link-heading,
.uk-link-heading a {
  color: inherit; }

a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .uk-link-heading,
.uk-link-toggle:focus .uk-link-heading {
  color: #1e87f0;
  text-decoration: none; }

/* Reset
 ========================================================================== */
/*
 * `!important` needed to override inverse component
 */
a.uk-link-reset,
.uk-link-reset a {
  color: inherit !important;
  text-decoration: none !important; }

/* Toggle
 ========================================================================== */
.uk-link-toggle {
  color: inherit !important;
  text-decoration: none !important; }

.uk-link-toggle:focus {
  outline: none; }

/* ========================================================================
   Component: Heading
 ========================================================================== */
.uk-heading-small {
  font-size: 2.6rem;
  line-height: 1.2; }

.uk-heading-medium {
  font-size: 2.8875rem;
  line-height: 1.1; }

.uk-heading-large {
  font-size: 3.4rem;
  line-height: 1.1; }

.uk-heading-xlarge {
  font-size: 4rem;
  line-height: 1; }

.uk-heading-2xlarge {
  font-size: 6rem;
  line-height: 1; }

/* Tablet Landscape and bigger */
@media (min-width: 1024px) {
  .uk-heading-small {
    font-size: 3.25rem; }
  .uk-heading-medium {
    font-size: 3.5rem; }
  .uk-heading-large {
    font-size: 4rem; }
  .uk-heading-xlarge {
    font-size: 6rem; }
  .uk-heading-2xlarge {
    font-size: 8rem; } }

/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-heading-medium {
    font-size: 4rem; }
  .uk-heading-large {
    font-size: 6rem; }
  .uk-heading-xlarge {
    font-size: 8rem; }
  .uk-heading-2xlarge {
    font-size: 11rem; } }

/* Primary
   Deprecated: Use `uk-heading-medium` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Hero
   Deprecated: Use `uk-heading-xlarge` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: calc(5px + 0.1em);
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5; }

/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative; }

/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  top: calc(-0.1 * 1em);
  vertical-align: middle;
  /* 3 */
  height: calc(4px + 0.7em);
  margin-right: calc(5px + 0.2em);
  border-left: calc(5px + 0.1em) solid #e5e5e5; }

/* Line
 ========================================================================== */
/*
 * Clip the child element
 */
.uk-heading-line {
  overflow: hidden; }

/*
 * Extra markup is needed to make it work with text align
 */
.uk-heading-line > * {
  display: inline-block;
  position: relative; }

/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.uk-heading-line > ::before,
.uk-heading-line > ::after {
  content: "";
  /* 1 */
  position: absolute;
  top: calc(50% - (calc(0.2px + 0.05em) / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5; }

.uk-heading-line > ::before {
  right: 100%;
  margin-right: calc(5px + 0.3em); }

.uk-heading-line > ::after {
  left: 100%;
  margin-left: calc(5px + 0.3em); }

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*='uk-divider'] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px; }

/* Add margin if adjacent element */
* + [class*='uk-divider'] {
  margin-top: 20px; }

/* Icon
 ========================================================================== */
.uk-divider-icon {
  position: relative;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

.uk-divider-icon::before,
.uk-divider-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - (50px / 2));
  border-bottom: 1px solid #e5e5e5; }

.uk-divider-icon::before {
  right: calc(50% + (50px / 2));
  width: 100%; }

.uk-divider-icon::after {
  left: calc(50% + (50px / 2));
  width: 100%; }

/* Small
 ========================================================================== */
/*
 * 1. Fix height because of `inline-block`
 * 2. Using ::after and inline-block to make `text-align` work
 */
/* 1 */
.uk-divider-small {
  line-height: 0; }

/* 2 */
.uk-divider-small::after {
  content: "";
  display: inline-block;
  width: 100px;
  max-width: 100%;
  border-top: 1px solid #e5e5e5;
  vertical-align: top; }

/* Vertical
 ========================================================================== */
.uk-divider-vertical {
  width: 1px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #e5e5e5; }

/* ========================================================================
   Component: List
 ========================================================================== */
.uk-list {
  padding: 0;
  list-style: none; }

/*
 * Remove margin from the last-child
 */
.uk-list > * > :last-child {
  margin-bottom: 0; }

/*
 * Style
 */
.uk-list > :nth-child(n+2),
.uk-list > * > ul {
  margin-top: 10px; }

/* Marker modifiers
 * Moving `::marker` inside `::before` to style it differently
 * To style the `::marker` is currently only supported in Firefox and Safari
 ========================================================================== */
.uk-list-disc > *,
.uk-list-circle > *,
.uk-list-square > *,
.uk-list-decimal > *,
.uk-list-hyphen > * {
  padding-left: 30px; }

/*
 * Type modifiers
 */
.uk-list-decimal {
  counter-reset: decimal; }

.uk-list-decimal > * {
  counter-increment: decimal; }

[class*='uk-list'] > ::before {
  content: '';
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  display: list-item;
  list-style-position: inside;
  text-align: right; }

.uk-list-disc > ::before {
  list-style-type: disc; }

.uk-list-circle > ::before {
  list-style-type: circle; }

.uk-list-square > ::before {
  list-style-type: square; }

.uk-list-decimal > ::before {
  content: counter(decimal, decimal) " . "; }

.uk-list-hyphen > ::before {
  content: '–\00A0\00A0'; }

/*
 * Color modifiers
 */
.uk-list-muted > ::before {
  color: #999 !important; }

.uk-list-emphasis > ::before {
  color: #333 !important; }

.uk-list-primary > ::before {
  color: #1e87f0 !important; }

.uk-list-secondary > ::before {
  color: #222 !important; }

/* Image bullet modifier
 ========================================================================== */
.uk-list-bullet > * {
  padding-left: 30px; }

.uk-list-bullet > ::before {
  content: "";
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-list-divider > :nth-child(n+2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5; }

/*
 * Striped
 */
.uk-list-striped > * {
  padding: 10px 10px; }
  .uk-list-striped > *:nth-of-type(odd) {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5; }

.uk-list-striped > :nth-of-type(odd) {
  background: #f8f8f8; }

.uk-list-striped > :nth-child(n+2) {
  margin-top: 0; }

/* Size modifier
 ========================================================================== */
.uk-list-large > :nth-child(n+2),
.uk-list-large > * > ul {
  margin-top: 20px; }

.uk-list-collapse > :nth-child(n+2),
.uk-list-collapse > * > ul {
  margin-top: 0; }

/*
 * Divider
 */
.uk-list-large.uk-list-divider > :nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px; }

.uk-list-collapse.uk-list-divider > :nth-child(n+2) {
  margin-top: 0;
  padding-top: 0; }

/*
 * Striped
 */
.uk-list-large.uk-list-striped > * {
  padding: 20px 10px; }

.uk-list-collapse.uk-list-striped > * {
  padding-top: 0;
  padding-bottom: 0; }

.uk-list-large.uk-list-striped > :nth-child(n+2),
.uk-list-collapse.uk-list-striped > :nth-child(n+2) {
  margin-top: 0; }

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase; }

.uk-description-list > dt:nth-child(n+2) {
  margin-top: 20px; }

/*
 * Description
 */
/* Style modifier
 ========================================================================== */
/*
 * Line
 */
.uk-description-list-divider > dt:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5; }

/* ========================================================================
   Component: Table
 ========================================================================== */
/*
 * 1. Remove most spacing between table cells.
 * 2. Behave like a block element
 * 3. Style
 */
.uk-table {
  /* 1 */
  border-collapse: collapse;
  border-spacing: 0;
  /* 2 */
  width: 100%;
  /* 3 */
  margin-bottom: 20px; }

/* Add margin if adjacent element */
* + .uk-table {
  margin-top: 20px; }

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 0.875rem;
  font-weight: normal;
  color: #999;
  text-transform: uppercase; }

/* Cell
 ========================================================================== */
.uk-table td {
  padding: 16px 12px;
  vertical-align: top; }

/*
 * Remove margin from the last-child
 */
.uk-table td > :last-child {
  margin-bottom: 0; }

/* Footer
 ========================================================================== */
.uk-table tfoot {
  font-size: 0.875rem; }

/* Caption
 ========================================================================== */
.uk-table caption {
  font-size: 0.875rem;
  text-align: left;
  color: #999; }

/* Alignment modifier
 ========================================================================== */
.uk-table-middle,
.uk-table-middle td {
  vertical-align: middle !important; }

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
  border-top: 1px solid #e5e5e5; }

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f8f8f8;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }

/*
 * Hover
 */
.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd; }

/* Active state
 ========================================================================== */
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd; }

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 12px; }

.uk-table-large th,
.uk-table-large td {
  padding: 22px 12px; }

/* Justify modifier
 ========================================================================== */
.uk-table-justify th:first-child,
.uk-table-justify td:first-child {
  padding-left: 0; }

.uk-table-justify th:last-child,
.uk-table-justify td:last-child {
  padding-right: 0; }

/* Cell size modifier
 ========================================================================== */
.uk-table-shrink {
  width: 1px; }

.uk-table-expand {
  min-width: 150px; }

/* Cell link modifier
 ========================================================================== */
/*
 * Does not work with `uk-table-justify` at the moment
 */
.uk-table-link {
  padding: 0 !important; }

.uk-table-link > a {
  display: block;
  padding: 16px 12px; }

.uk-table-small .uk-table-link > a {
  padding: 10px 12px; }

/* Responsive table
 ========================================================================== */
/* Phone landscape and smaller */
@media (max-width: 1023px) {
  .uk-table-responsive,
  .uk-table-responsive tbody,
  .uk-table-responsive th,
  .uk-table-responsive td,
  .uk-table-responsive tr {
    display: block; }
  .uk-table-responsive thead {
    display: none; }
  .uk-table-responsive th,
  .uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important; }
  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
  .uk-table-responsive td:not(:first-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important; }
  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
  .uk-table-responsive td:not(:last-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important; }
  .uk-table-justify.uk-table-responsive th,
  .uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0; } }

.uk-table tbody tr {
  -webkit-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear; }

/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0; }

/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer; }

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
 * Set the fill and stroke color of all SVG elements to the current text color
 */
.uk-icon:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-icon:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: currentcolor; }

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle; }

/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999; }

.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none; }

/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959; }

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }

/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none; }

/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdede;
  color: #666; }

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  vertical-align: middle;
  /* 2 */
  max-width: 100%;
  /* 3 */
  width: 100%;
  /* 4 */
  -webkit-appearance: none;
  /* 5 */
  background: transparent;
  /* 6 */
  padding: 0; }

/* Focus */
.uk-range:focus {
  outline: none; }

.uk-range::-moz-focus-outer {
  border: none; }

/* IE11 Reset */
.uk-range::-ms-track {
  height: 15px;
  background: transparent;
  border-color: transparent;
  color: transparent; }

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-range:not(:disabled)::-webkit-slider-thumb {
  cursor: pointer; }

.uk-range:not(:disabled)::-moz-range-thumb {
  cursor: pointer; }

.uk-range:not(:disabled)::-ms-thumb {
  cursor: pointer; }

/* Thumb
 ========================================================================== */
/*
 * 1. Reset
 * 2. Style
 */
/* Webkit */
.uk-range::-webkit-slider-thumb {
  /* 1 */
  -webkit-appearance: none;
  margin-top: -7px;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccbcb; }

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccbcb; }

/* Edge */
.uk-range::-ms-thumb {
  /* 1 */
  margin-top: 0; }

/* IE11 */
.uk-range::-ms-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccbcb; }

/* Edge + IE11 */
.uk-range::-ms-tooltip {
  display: none; }

/* Track
 ========================================================================== */
/*
 * 1. Safari doesn't have a focus state. Using active instead.
 */
/* Webkit */
.uk-range::-webkit-slider-runnable-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px; }

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #d2d2d2; }

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px; }

.uk-range:focus::-moz-range-track {
  background: #d2d2d2; }

/* Edge */
.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px; }

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #d2d2d2; }

/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit; }

/*
 * Show the overflow in Edge.
 */
.uk-input {
  overflow: visible; }

/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none; }

/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: bold; }

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

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

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

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder,
.uk-textarea::-moz-placeholder {
  opacity: 1; }

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled) {
  cursor: pointer; }

/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0; }

/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input,
.uk-textarea {
  -webkit-appearance: none; }

/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input,
.uk-select,
.uk-textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 10px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: color, background-color, border;
  transition-property: color, background-color, border; }

/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input,
.uk-select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  /* 1 */
  display: inline-block; }

/* 2 */
.uk-input:not(input),
.uk-select:not(select) {
  line-height: 38px; }

/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea {
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: top; }

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #666;
  border-color: #1e87f0; }

/* Disabled */
.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f8f8f8;
  color: #999;
  border-color: #e5e5e5; }

/*
 * Placeholder
 */
.uk-input::-ms-input-placeholder {
  color: #999 !important; }

.uk-input::-webkit-input-placeholder {
  color: #999; }

.uk-input::-moz-placeholder {
  color: #999; }

.uk-input::placeholder {
  color: #999; }

.uk-textarea::-ms-input-placeholder {
  color: #999 !important; }

.uk-textarea::-webkit-input-placeholder {
  color: #999; }

.uk-textarea::-moz-placeholder {
  color: #999; }

.uk-textarea::placeholder {
  color: #999; }

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem; }

.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px; }

.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 28px; }

/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem; }

.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px; }

.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 53px; }

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f0506e;
  border-color: #f0506e; }

/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #32d296;
  border-color: #32d296; }

/*
 * Blank
 */
.uk-form-blank {
  background: none;
  border-color: transparent; }

.uk-form-blank:focus {
  border-color: #e5e5e5;
  border-style: dashed; }

/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px; }

select.uk-form-width-xsmall {
  width: 75px; }

.uk-form-width-small {
  width: 130px; }

.uk-form-width-medium {
  width: 200px; }

.uk-form-width-large {
  width: 500px; }

/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%; }

/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none; }

/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #444; }

/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* Datalist
 ========================================================================== */
/*
 * 1. Remove default style in Chrome
 */
.uk-input[list] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%; }

.uk-input[list]:hover,
.uk-input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* 1 */
.uk-input[list]::-webkit-calendar-picker-indicator {
  display: none; }

/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccbcb;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: background-color, border;
  transition-property: background-color, border; }

.uk-radio {
  border-radius: 50%; }

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none;
  border-color: #1e87f0; }

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #1e87f0;
  border-color: transparent; }

/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #0e6ecd; }

/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

.uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f8f8f8;
  border-color: #e5e5e5; }

.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

.uk-checkbox:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.uk-checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4; }

/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle; }

/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer; }

.uk-form-custom input[type="file"] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden; }

/* Label
 ========================================================================== */
.uk-form-label {
  color: #333;
  font-size: 0.875rem; }

/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px; }

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 1023px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left; }
  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px; }
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px; } }

/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 40px;
  /* 3 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 4 */
  color: #999; }

/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666; }

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none; }

/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
  padding-left: 40px !important; }

/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto; }

.uk-form-icon-flip ~ .uk-input {
  padding-right: 40px !important; }

/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default style for `input type="submit"`in iOS.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  border-radius: 0;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 8 */
  line-height: 38px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color; }

.uk-button:not(:disabled) {
  cursor: pointer; }

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* Hover */
.uk-button:hover {
  /* 9 */
  text-decoration: none; }

/* Focus */
.uk-button:focus {
  outline: none; }

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: transparent;
  color: #333;
  border: 1px solid #e5e5e5; }

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: transparent;
  color: #333;
  border-color: #b2b2b2; }

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #333;
  border-color: #999898; }

/*
 * Primary
 */
.uk-button-primary {
  background-color: #1e87f0;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #0f7ae5;
  color: #fff; }

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #0e6ecd;
  color: #fff; }

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #151515;
  color: #fff; }

/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #090808;
  color: #fff; }

/*
 * Danger
 */
.uk-button-danger {
  background-color: #f0506e;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #ee395b;
  color: #fff; }

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ec2147;
  color: #fff; }

/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: transparent;
  color: #999;
  border-color: #e5e5e5; }

/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 28px;
  font-size: 0.875rem; }

.uk-button-large {
  padding: 0 40px;
  line-height: 53px;
  font-size: 0.875rem; }

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #333;
  position: relative; }
  .uk-button-text::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    border-bottom: 1px solid #333;
    -webkit-transition: right 0.3s ease-out;
    transition: right 0.3s ease-out; }

/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #333; }
  .uk-button-text:hover::before,
  .uk-button-text:focus::before {
    right: 0; }

/* Disabled */
.uk-button-text:disabled {
  color: #999; }
  .uk-button-text:disabled::before {
    display: none; }

/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #f01d4f; }

/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  text-decoration: underline; }

/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none; }

/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative; }

/* Group
     ========================================================================== */
/*
     * Collapse border
     */
.uk-button-group > .uk-button:nth-child(n+2),
.uk-button-group > div:nth-child(n+2) .uk-button {
  margin-left: -1px; }

/*
     * Create position context to superimpose the successor elements border
     * Known issue: If you use an `a` element as button and an icon inside,
     * the active state will not work if you click the icon inside the button
     * Workaround: Just use a `button` or `input` element as button
     */
.uk-button-group .uk-button:hover,
.uk-button-group .uk-button:focus,
.uk-button-group .uk-button:active,
.uk-button-group .uk-button.uk-active {
  position: relative;
  z-index: 1; }

/* ========================================================================
   Component: Progress
 ========================================================================== */
/*
 * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 * 2. Remove default style
 * 3. Behave like a block element
 * 4. Remove borders in Firefox and Edge
 * 5. Set background color for progress container in Firefox, IE11 and Edge
 * 6. Style
 */
.uk-progress {
  /* 1 */
  vertical-align: baseline;
  /* 2 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 3 */
  display: block;
  width: 100%;
  /* 4 */
  border: 0;
  /* 5 */
  background-color: #f8f8f8;
  /* 6 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden; }

/* Add margin if adjacent element */
* + .uk-progress {
  margin-top: 20px; }

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */
.uk-progress:indeterminate {
  color: transparent; }

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */
.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden; }

/* 2 */
.uk-progress:indeterminate::-moz-progress-bar {
  width: 0; }

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */
.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease; }

.uk-progress::-moz-progress-bar {
  background-color: #1e87f0; }

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
  /* 1 */
  border: 0; }

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  display: flow-root;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px; }

/* Desktop and bigger */
@media (min-width: 1024px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Remove margin from the last-child
 */
.uk-section > :last-child {
  margin-bottom: 0; }

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px; }

/*
 * Small
 */
.uk-section-small {
  padding-top: 40px;
  padding-bottom: 40px; }

/*
 * Large
 */
.uk-section-large {
  padding-top: 70px;
  padding-bottom: 70px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px; } }

/*
 * XLarge
 */
.uk-section-xlarge {
  padding-top: 140px;
  padding-bottom: 140px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px; } }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  background: #fff; }

/*
 * Muted
 */
.uk-section-muted {
  background: #f8f8f8; }

/*
 * Primary
 */
.uk-section-primary {
  background: #1e87f0; }

/*
 * Secondary
 */
.uk-section-secondary {
  background: #222; }

/* Overlap modifier
 ========================================================================== */
/*
 * Reserved modifier to make a section overlap another section with an border image
 * Implemented by the theme
 */
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
  display: flow-root;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px; } }

/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0; }

/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0; }

/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px; }

.uk-container-small {
  max-width: 900px; }

.uk-container-large {
  max-width: 1400px; }

.uk-container-xlarge {
  max-width: 1600px; }

.uk-container-expand {
  max-width: none; }

/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0; }

.uk-container-expand-right {
  margin-right: 0; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 30px); }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 30px); } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px); }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 40px); }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 40px); }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 40px); }
  .uk-container-expand-left.uk-container-xlarge,
  .uk-container-expand-right.uk-container-xlarge {
    max-width: calc(50% + (1600px / 2) - 40px); } }

/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 15px); }

.uk-container-item-padding-remove-left {
  margin-left: -15px; }

.uk-container-item-padding-remove-right {
  margin-right: -15px; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 30px); }
  .uk-container-item-padding-remove-left {
    margin-left: -30px; }
  .uk-container-item-padding-remove-right {
    margin-right: -30px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 40px); }
  .uk-container-item-padding-remove-left {
    margin-left: -40px; }
  .uk-container-item-padding-remove-right {
    margin-right: -40px; } }

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  display: flow-root;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Remove margin from the last-child
 */
.uk-tile > :last-child {
  margin-bottom: 0; }

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px; }

/*
 * Small
 */
.uk-tile-small {
  padding-top: 40px;
  padding-bottom: 40px; }

/*
 * Large
 */
.uk-tile-large {
  padding-top: 70px;
  padding-bottom: 70px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px; } }

/*
 * XLarge
 */
.uk-tile-xlarge {
  padding-top: 140px;
  padding-bottom: 140px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px; } }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background: #fff; }

/*
 * Muted
 */
.uk-tile-muted {
  background: #f8f8f8; }

/*
 * Primary
 */
.uk-tile-primary {
  background: #1e87f0; }

/*
 * Secondary
 */
.uk-tile-secondary {
  background: #222; }

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; }

/* Sections
 ========================================================================== */
.uk-card-body {
  display: flow-root;
  padding: 30px 30px; }

.uk-card-header {
  display: flow-root;
  padding: 15px 30px; }

.uk-card-footer {
  display: flow-root;
  padding: 15px 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body {
    padding: 40px 40px; }
  .uk-card-header {
    padding: 20px 40px; }
  .uk-card-footer {
    padding: 20px 40px; } }

/*
 * Remove margin from the last-child
 */
.uk-card-body > :last-child,
.uk-card-header > :last-child,
.uk-card-footer > :last-child {
  margin-bottom: 0; }

/* Media
 ========================================================================== */
/*
 * Reserved alignment modifier to style the media element, e.g. with `border-radius`
 * Implemented by the theme
 */
/* Title
 ========================================================================== */
.uk-card-title {
  font-size: 1.5rem;
  line-height: 1.4; }

/* Badge
 ========================================================================== */
.uk-card-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1; }

/*
 * Remove margin from adjacent element
 */
.uk-card-badge:first-child + * {
  margin-top: 0; }

/* Hover modifier
 ========================================================================== */
.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
  background: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-default .uk-card-title {
  color: #333; }

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-card-default .uk-card-header {
  border-bottom: 1px solid #e5e5e5; }

.uk-card-default .uk-card-footer {
  border-top: 1px solid #e5e5e5; }

/*
 * Primary
 */
.uk-card-primary {
  background: #1e87f0;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-primary .uk-card-title {
  color: #fff; }

.uk-card-primary.uk-card-hover:hover {
  background-color: #1e87f0;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/*
 * Secondary
 */
.uk-card-secondary {
  background: #222;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-secondary .uk-card-title {
  color: #fff; }

.uk-card-secondary.uk-card-hover:hover {
  background-color: #222;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/* Size modifier
 ========================================================================== */
/*
 * Small
 */
.uk-card-small.uk-card-body,
.uk-card-small .uk-card-body {
  padding: 20px 20px; }

.uk-card-small .uk-card-header {
  padding: 13px 20px; }

.uk-card-small .uk-card-footer {
  padding: 13px 20px; }

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large.uk-card-body,
  .uk-card-large .uk-card-body {
    padding: 70px 70px; }
  .uk-card-large .uk-card-header {
    padding: 35px 70px; }
  .uk-card-large .uk-card-footer {
    padding: 35px 70px; } }

/*
     * Default
     */
.uk-card-body > .uk-nav-default {
  margin-left: -30px;
  margin-right: -30px; }

.uk-card-body > .uk-nav-default:only-child {
  margin-top: -15px;
  margin-bottom: -15px; }

.uk-card-body .uk-nav-default > li > a,
.uk-card-body .uk-nav-default .uk-nav-header,
.uk-card-body .uk-nav-default .uk-nav-divider {
  padding-left: 30px;
  padding-right: 30px; }

.uk-card-body .uk-nav-default .uk-nav-sub {
  padding-left: 45px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body > .uk-nav-default {
    margin-left: -40px;
    margin-right: -40px; }
  .uk-card-body > .uk-nav-default:only-child {
    margin-top: -25px;
    margin-bottom: -25px; }
  .uk-card-body .uk-nav-default > li > a,
  .uk-card-body .uk-nav-default .uk-nav-header,
  .uk-card-body .uk-nav-default .uk-nav-divider {
    padding-left: 40px;
    padding-right: 40px; }
  .uk-card-body .uk-nav-default .uk-nav-sub {
    padding-left: 55px; } }

/*
     * Small
     */
.uk-card-small > .uk-nav-default {
  margin-left: -20px;
  margin-right: -20px; }

.uk-card-small > .uk-nav-default:only-child {
  margin-top: -5px;
  margin-bottom: -5px; }

.uk-card-small .uk-nav-default > li > a,
.uk-card-small .uk-nav-default .uk-nav-header,
.uk-card-small .uk-nav-default .uk-nav-divider {
  padding-left: 20px;
  padding-right: 20px; }

.uk-card-small .uk-nav-default .uk-nav-sub {
  padding-left: 35px; }

/*
     * Large
     */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large > .uk-nav-default {
    margin: 0; }
  .uk-card-large > .uk-nav-default:only-child {
    margin: 0; }
  .uk-card-large .uk-nav-default > li > a,
  .uk-card-large .uk-nav-default .uk-nav-header,
  .uk-card-large .uk-nav-default .uk-nav-divider {
    padding-left: 0;
    padding-right: 0; }
  .uk-card-large .uk-nav-default .uk-nav-sub {
    padding-left: 15px; } }

/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, opacity;
  transition-property: color, opacity; }

/* Hover + Focus */
.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none; }

/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
          animation: uk-spinner-rotate 1.4s linear infinite; }

@-webkit-keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

@keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
          animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round; }

@-webkit-keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }

/* ========================================================================
   Component: Totop
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-totop:hover,
.uk-totop:focus {
  color: #666;
  outline: none; }

/* OnClick */
.uk-totop:active {
  color: #333; }

/* ========================================================================
   Component: Marker
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-marker {
  padding: 5px;
  background: #222;
  color: #fff;
  border-radius: 500px; }

/* Hover + Focus */
.uk-marker:hover,
.uk-marker:focus {
  color: #fff;
  outline: none; }

/* ========================================================================
   Component: Alert
 ========================================================================== */
.uk-alert {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 29px 15px 15px;
  background: #f8f8f8;
  color: #666; }

/* Add margin if adjacent element */
* + .uk-alert {
  margin-top: 20px; }

/*
 * Remove margin from the last-child
 */
.uk-alert > :last-child {
  margin-bottom: 0; }

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-alert-close {
  position: absolute;
  top: 20px;
  right: 15px;
  color: inherit;
  opacity: 0.4; }

/*
 * Remove margin from adjacent element
 */
.uk-alert-close:first-child + * {
  margin-top: 0; }

/*
 * Hover + Focus
 */
.uk-alert-close:hover,
.uk-alert-close:focus {
  color: inherit;
  opacity: 0.8; }

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: #d8eafc;
  color: #1e87f0; }

/*
 * Success
 */
.uk-alert-success {
  background: #edfbf6;
  color: #32d296; }

/*
 * Warning
 */
.uk-alert-warning {
  background: #fef5ee;
  color: #faa05a; }

/*
 * Danger
 */
.uk-alert-danger {
  background: #fef4f6;
  color: #f0506e; }

/*
     * Content
     */
.uk-alert h1,
.uk-alert h2,
.uk-alert h3,
.uk-alert h4,
.uk-alert h5,
.uk-alert h6 {
  color: inherit; }

.uk-alert a:not([class]) {
  color: inherit;
  text-decoration: underline; }

.uk-alert a:not([class]):hover {
  color: inherit;
  text-decoration: underline; }

/* ========================================================================
   Component: Placeholder
 ========================================================================== */
.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #e5e5e5; }

/* Add margin if adjacent element */
* + .uk-placeholder {
  margin-top: 20px; }

/*
 * Remove margin from the last-child
 */
.uk-placeholder > :last-child {
  margin-bottom: 0; }

/* ========================================================================
   Component: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/*
 * Required for `a`
 */
.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: none; }

/* ========================================================================
   Component: Label
 ========================================================================== */
.uk-label {
  display: inline-block;
  padding: 0 10px;
  background: #1e87f0;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase; }

/* Color modifiers
 ========================================================================== */
/*
 * Success
 */
.uk-label-success {
  background-color: #32d296;
  color: #fff; }

/*
 * Warning
 */
.uk-label-warning {
  background-color: #faa05a;
  color: #fff; }

/*
 * Danger
 */
.uk-label-danger {
  background-color: #f0506e;
  color: #fff; }

/* ========================================================================
   Component: Overlay
 ========================================================================== */
.uk-overlay {
  padding: 30px 30px; }

/*
 * Remove margin from the last-child
 */
.uk-overlay > :last-child {
  margin-bottom: 0; }

/* Icon
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8); }

/*
 * Primary
 */
.uk-overlay-primary {
  background: rgba(34, 34, 34, 0.8); }

/* ========================================================================
   Component: Article
 ========================================================================== */
.uk-article {
  display: flow-root; }

/*
 * Remove margin from the last-child
 */
.uk-article > :last-child {
  margin-bottom: 0; }

/* Adjacent sibling
 ========================================================================== */
.uk-article + .uk-article {
  margin-top: 70px; }

/* Title
 ========================================================================== */
.uk-article-title {
  font-size: 2.23125rem;
  line-height: 1.2; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-article-title {
    font-size: 2.625rem; } }

/* Meta
 ========================================================================== */
.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
  .uk-article-meta a {
    color: #999; }
  .uk-article-meta a:hover {
    color: #666;
    text-decoration: none; }

/* ========================================================================
   Component: Comment
 ========================================================================== */
/* Sections
 ========================================================================== */
.uk-comment-body {
  display: flow-root;
  overflow-wrap: break-word;
  word-wrap: break-word; }

.uk-comment-header {
  display: flow-root;
  margin-bottom: 20px; }

/*
 * Remove margin from the last-child
 */
.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0; }

/* Title
 ========================================================================== */
.uk-comment-title {
  font-size: 1.25rem;
  line-height: 1.4; }

/* Meta
 ========================================================================== */
.uk-comment-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }

/* Avatar
 ========================================================================== */
/* List
 ========================================================================== */
.uk-comment-list {
  padding: 0;
  list-style: none; }

/* Adjacent siblings */
.uk-comment-list > :nth-child(n+2) {
  margin-top: 70px; }

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */
.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none; }

/* Tablet and bigger */
@media (min-width: 1024px) {
  .uk-comment-list .uk-comment ~ ul {
    padding-left: 100px; } }

/* Adjacent siblings */
.uk-comment-list .uk-comment ~ ul > :nth-child(n+2) {
  margin-top: 70px; }

/* Style modifier
 ========================================================================== */
.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8; }

/* ========================================================================
   Component: Search
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */
.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0; }

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

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-search-input::-moz-placeholder {
  opacity: 1; }

/*
 * 1. Define consistent box sizing.
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */
.uk-search-input {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666; }

.uk-search-input:focus {
  outline: none; }

/* Placeholder */
.uk-search-input:-ms-input-placeholder {
  color: #999 !important; }

.uk-search-input::-webkit-input-placeholder {
  color: #999; }

.uk-search-input::-moz-placeholder {
  color: #999; }

.uk-search-input::-ms-input-placeholder {
  color: #999; }

.uk-search-input::placeholder {
  color: #999; }

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Remove default focus style
 */
.uk-search-icon:focus {
  outline: none; }

/*
 * Position above input
 * 1. Set position
 * 2. Center icon vertically and horizontally
 * 3. Style
 */
.uk-search .uk-search-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 3 */
  color: #999; }

/*
 * Required for `a`.
 */
.uk-search .uk-search-icon:hover {
  color: #999; }

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-search .uk-search-icon:not(a):not(button):not(input) {
  pointer-events: none; }

/*
 * Position modifier
 */
.uk-search .uk-search-icon-flip {
  right: 0;
  left: auto; }

/* Default modifier
 ========================================================================== */
.uk-search-default {
  width: 180px; }

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  background: transparent;
  border: 1px solid #e5e5e5; }

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: transparent; }

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  width: 40px; }

.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px; }

.uk-search-default .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px; }

/* Navbar modifier
 ========================================================================== */
.uk-search-navbar {
  width: 400px; }

/*
 * Input
 */
.uk-search-navbar .uk-search-input {
  height: 40px;
  background: transparent;
  font-size: 1.5rem; }

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  width: 40px; }

.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px; }

.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px; }

/* Large modifier
 ========================================================================== */
.uk-search-large {
  width: 500px; }

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 80px;
  background: transparent;
  font-size: 2.625rem; }

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  width: 80px; }

.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 80px; }

.uk-search-large .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 80px; }

/* Toggle
 ========================================================================== */
.uk-search-toggle {
  color: #999; }

/* Hover + Focus */
.uk-search-toggle:hover,
.uk-search-toggle:focus {
  color: #666; }

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none; }

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n+2) {
  margin-top: 20px; }

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  overflow: hidden; }
  .uk-accordion-title::before {
    content: "";
    width: 1.4em;
    height: 1.4em;
    margin-left: 10px;
    float: right;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%; }
  .uk-open > .uk-accordion-title::before {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Hover + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #666;
  text-decoration: none;
  outline: none; }

/* Content
 ========================================================================== */
.uk-accordion-content {
  display: flow-root;
  margin-top: 20px; }

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0; }

/* ========================================================================
   Component: Drop
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 */
.uk-drop {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 300px; }

/* Show */
.uk-drop.uk-open {
  display: block; }

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-drop-top'] {
  margin-top: -20px; }

[class*='uk-drop-bottom'] {
  margin-top: 20px; }

[class*='uk-drop-left'] {
  margin-left: -20px; }

[class*='uk-drop-right'] {
  margin-left: 20px; }

/* Grid modifiers
 ========================================================================== */
.uk-drop-stack .uk-drop-grid > * {
  width: 100% !important; }

/* ========================================================================
   Component: Dropdown
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15); }

/* Show */
.uk-dropdown.uk-open {
  display: block; }

/* Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-dropdown-nav {
  white-space: nowrap;
  font-size: 0.875rem; }

/*
 * Items
 */
.uk-dropdown-nav > li > a {
  color: #999; }

/* Hover + Focus + Active */
.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li > a:focus,
.uk-dropdown-nav > li.uk-active > a {
  color: #666; }

/*
 * Header
 */
.uk-dropdown-nav .uk-nav-header {
  color: #333; }

/*
 * Divider
 */
.uk-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-dropdown-nav .uk-nav-sub a {
  color: #999; }

.uk-dropdown-nav .uk-nav-sub a:hover,
.uk-dropdown-nav .uk-nav-sub a:focus,
.uk-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #666; }

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-dropdown-top'] {
  margin-top: -10px; }

[class*='uk-dropdown-bottom'] {
  margin-top: 10px; }

[class*='uk-dropdown-left'] {
  margin-left: -10px; }

[class*='uk-dropdown-right'] {
  margin-left: 10px; }

/* Grid modifiers
 ========================================================================== */
.uk-dropdown-stack .uk-dropdown-grid > * {
  width: 100% !important; }

/* ========================================================================
   Component: Modal
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 32px 32px;
  /* 5 */
  background: rgba(0, 0, 0, 0.5);
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-modal {
    padding: 50px 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px; } }

/*
 * Open
 */
.uk-modal.uk-open {
  opacity: 1; }

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-modal-page {
  overflow: hidden; }

/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }

/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

/* Size modifier
 ========================================================================== */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
  width: 1200px; }

/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
  padding: 0;
  background: none; }

/* 2 */
.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 16px 16px; }

.uk-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5; }

.uk-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-top: 1px solid #e5e5e5; }

/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0; }

/* Title
 ========================================================================== */
.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3; }

/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*='uk-modal-close-'] {
  position: absolute;
  z-index: 1010;
  top: 10px;
  right: 10px;
  padding: 5px; }

/*
 * Remove margin from adjacent element
 */
[class*='uk-modal-close-']:first-child + * {
  margin-top: 0; }

/*
 * Hover
 */
/*
 * Default
 */
/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  color: white; }

.uk-modal-close-outside:hover {
  color: #fff; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    -webkit-transform: translate(100%, -100%);
            transform: translate(100%, -100%); } }

/*
 * Full
 */
.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 20px;
  background: #fff; }

/* ========================================================================
   Component: Slideshow
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/* Items
 ========================================================================== */
/*
 * 1. Create position and stacking context
 * 2. Reset list
 * 3. Clip child elements
 * 4. Prevent displaying the callout information on iOS.
 */
.uk-slideshow-items {
  /* 1 */
  position: relative;
  z-index: 0;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  overflow: hidden;
  /* 4 */
  -webkit-touch-callout: none; }

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 * 5. Disable horizontal panning gestures in IE11 and Edge
 * 6. Suppress outline on focus
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
  /* 5 */
  -ms-touch-action: pan-y;
      touch-action: pan-y; }

/* 6 */
.uk-slideshow-items > :focus {
  outline: none; }

/*
 * Hide not active items
 */
.uk-slideshow-items > :not(.uk-active) {
  display: none; }

/* ========================================================================
   Component: Slider
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/* Container
 ========================================================================== */
/*
 * Clip child elements
 */
.uk-slider-container {
  overflow: hidden; }

/*
 * Widen container to prevent box-shadows from clipping, `large-box-shadow`
 */
.uk-slider-container-offset {
  margin: -11px -25px -39px -25px;
  padding: 11px 25px 39px 25px; }

/* Items
 ========================================================================== */
/*
 * 1. Optimize animation
 * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
 */
.uk-slider-items {
  /* 1 */
  will-change: transform;
  /* 2 */
  position: relative; }

/*
 * 1. Reset list style without interfering with grid
 * 2. Prevent displaying the callout information on iOS.
 */
.uk-slider-items:not(.uk-grid) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 2 */
  -webkit-touch-callout: none; }

.uk-slider-items.uk-grid {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 * 2. Create position context
 * 3. Disable horizontal panning gestures in IE11 and Edge
 * 4. Suppress outline on focus
 */
.uk-slider-items > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  position: relative;
  /* 3 */
  -ms-touch-action: pan-y;
      touch-action: pan-y; }

/* 4 */
.uk-slider-items > :focus {
  outline: none; }

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/*
 * Faster animations
 */
.uk-sticky[class*='uk-animation-'] {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s; }

.uk-sticky.uk-animation-reverse {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s; }

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 */
.uk-offcanvas {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000; }

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas {
  right: 0;
  left: auto; }

/* Bar
 ========================================================================== */
/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 */
.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-offcanvas-bar {
    left: -350px;
    width: 350px;
    padding: 40px 40px; } }

/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: -270px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-offcanvas-flip .uk-offcanvas-bar {
    right: -350px; } }

/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
  left: 0; }

.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
  left: auto;
  right: 0; }

/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
  -webkit-transition: left 0.3s ease-out;
  transition: left 0.3s ease-out; }

.uk-offcanvas-flip .uk-offcanvas-bar-animation {
  -webkit-transition-property: right;
  transition-property: right; }

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset position
 */
.uk-offcanvas-reveal {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 0;
  overflow: hidden;
  /* 3 */
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out; }

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: 0; }

.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: auto;
  right: 0; }

.uk-open > .uk-offcanvas-reveal {
  width: 270px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px; } }

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto; }

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px; }

/* Overlay
 ========================================================================== */
/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */
.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  -ms-touch-action: none;
      touch-action: none; }

/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */
.uk-offcanvas-overlay::before {
  /* 1 */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.1);
  /* 2 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }

.uk-offcanvas-overlay.uk-open::before {
  opacity: 1; }

/* Prevent scrolling
 ========================================================================== */
/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden; }

/* Container
 ========================================================================== */
/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * 1. Provide a fixed width and prevent shrinking
 */
.uk-offcanvas-container {
  position: relative;
  left: 0;
  -webkit-transition: left 0.3s ease-out;
  transition: left 0.3s ease-out;
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%; }

/*
 * Activate slide-out animation
 */
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
  left: 270px; }

.uk-offcanvas-flip.uk-offcanvas-container-animation {
  left: -270px; }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 350px; }
  .uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -350px; } }

/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none; }

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0; }

/* ========================================================================
   Component: Leader
 ========================================================================== */
.uk-leader {
  overflow: hidden; }

/*
 * 1. Place element in text flow
 * 2. Never break into a new line
 * 3. Get a string back with as many repeating characters to fill the container
 * 4. Prevent wrapping. Overflowing characters will be clipped by the container
 */
.uk-leader-fill::after {
  /* 1 */
  display: inline-block;
  margin-left: 15px;
  /* 2 */
  width: 0;
  /* 3 */
  content: attr(data-fill);
  /* 4 */
  white-space: nowrap; }

/*
 * Hide if media does not match
 */
.uk-leader-fill.uk-leader-hide::after {
  display: none; }

/*
 * Pass fill character to JS
 */
.uk-leader-fill-content::before {
  content: "."; }

:root {
  --uk-leader-fill-content: .; }

/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 350px; }

/* Position modifiers
========================================================================== */
.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px; }

.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px; }

.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px; }

/* Responsiveness
========================================================================== */
/* Phones portrait and smaller */
@media (max-width: 767px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0; } }

/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 15px;
  background: #f8f8f8;
  color: #666;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer; }

* + .uk-notification-message {
  margin-top: 10px; }

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px; }

.uk-notification-message:hover .uk-notification-close {
  display: block; }

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: #1e87f0; }

/*
 * Success
 */
.uk-notification-message-success {
  color: #32d296; }

/*
 * Warning
 */
.uk-notification-message-warning {
  color: #faa05a; }

/*
 * Danger
 */
.uk-notification-message-danger {
  color: #f0506e; }

/* ========================================================================
   Component: Tooltip
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Remove tooltip from document flow to keep the UIkit container from changing its size when injected into the document initially
 * 4. Dimensions
 * 5. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  top: 0;
  /* 4 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 5 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px; }

/* Show */
.uk-tooltip.uk-active {
  display: block; }

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-tooltip-top'] {
  margin-top: -10px; }

[class*='uk-tooltip-bottom'] {
  margin-top: 10px; }

[class*='uk-tooltip-left'] {
  margin-left: -10px; }

[class*='uk-tooltip-right'] {
  margin-left: 10px; }

/* ========================================================================
   Component: Sortable
 ========================================================================== */
.uk-sortable {
  position: relative; }

/*
 * Remove margin from the last-child
 */
.uk-sortable > :last-child {
  margin-bottom: 0; }

/* Drag
 ========================================================================== */
.uk-sortable-drag {
  position: fixed !important;
  z-index: 1050 !important;
  pointer-events: none; }

/* Placeholder
 ========================================================================== */
.uk-sortable-placeholder {
  opacity: 0;
  pointer-events: none; }

/* Empty modifier
 ========================================================================== */
.uk-sortable-empty {
  min-height: 50px; }

/* Handle
 ========================================================================== */
/* Hover */
.uk-sortable-handle:hover {
  cursor: move; }

/* ========================================================================
   Component: Countdown
 ========================================================================== */
/* Item
 ========================================================================== */
/* Number
 ========================================================================== */
/*
 * 1. Make numbers all of the same size to prevent jumping. Must be supported by the font.
 * 2. Style
 */
.uk-countdown-number {
  /* 1 */
  font-variant-numeric: tabular-nums;
  /* 2 */
  font-size: 2rem;
  line-height: 0.8; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-number {
    font-size: 4rem; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-countdown-number {
    font-size: 6rem; } }

/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-separator {
    font-size: 2rem; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-countdown-separator {
    font-size: 3rem; } }

/* Label
 ========================================================================== */
/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none; }

/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0; }

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0; }

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: -30px; }

.uk-grid > * {
  padding-left: 30px; }

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid {
    margin-left: -40px; }
  .uk-grid > * {
    padding-left: 40px; }
  /* Vertical */
  .uk-grid + .uk-grid,
  .uk-grid > .uk-grid-margin,
  * + .uk-grid-margin {
    margin-top: 40px; } }

/*
 * Small
 */
/* Horizontal */
.uk-grid-small,
.uk-grid-column-small {
  margin-left: -15px; }

.uk-grid-small > *,
.uk-grid-column-small > * {
  padding-left: 15px; }

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid + .uk-grid-row-small,
.uk-grid-small > .uk-grid-margin,
.uk-grid-row-small > .uk-grid-margin,
* + .uk-grid-margin-small {
  margin-top: 15px; }

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium,
.uk-grid-column-medium {
  margin-left: -30px; }

.uk-grid-medium > *,
.uk-grid-column-medium > * {
  padding-left: 30px; }

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid + .uk-grid-row-medium,
.uk-grid-medium > .uk-grid-margin,
.uk-grid-row-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
  margin-top: 30px; }

/*
 * Large
 */
/* Horizontal */
.uk-grid-large,
.uk-grid-column-large {
  margin-left: -40px; }

.uk-grid-large > *,
.uk-grid-column-large > * {
  padding-left: 40px; }

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
  margin-top: 40px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-large,
  .uk-grid-column-large {
    margin-left: -150px; }
  .uk-grid-large > *,
  .uk-grid-column-large > * {
    padding-left: 150px; }
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid + .uk-grid-row-large,
  .uk-grid-large > .uk-grid-margin,
  .uk-grid-row-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 150px; } }

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse,
.uk-grid-column-collapse {
  margin-left: 0; }

.uk-grid-collapse > *,
.uk-grid-column-collapse > * {
  padding-left: 0; }

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid + .uk-grid-row-collapse,
.uk-grid-collapse > .uk-grid-margin,
.uk-grid-row-collapse > .uk-grid-margin {
  margin-top: 0; }

/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative; }

.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e5e5e5; }

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid #e5e5e5; }

/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px; }

.uk-grid-divider > * {
  padding-left: 60px; }

.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px; }

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px; }

.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px; }
  .uk-grid-divider > * {
    padding-left: 80px; }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px; }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px; } }

/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small,
.uk-grid-divider.uk-grid-column-small {
  margin-left: -30px; }

.uk-grid-divider.uk-grid-small > *,
.uk-grid-divider.uk-grid-column-small > * {
  padding-left: 30px; }

.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before {
  left: 15px; }

/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin {
  margin-top: 30px; }

.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
  left: 30px; }

.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px; }

.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before {
  left: 30px; }

/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium,
.uk-grid-divider.uk-grid-column-medium {
  margin-left: -60px; }

.uk-grid-divider.uk-grid-medium > *,
.uk-grid-divider.uk-grid-column-medium > * {
  padding-left: 60px; }

.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before {
  left: 30px; }

/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px; }

.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px; }

.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px; }

.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before {
  left: 60px; }

/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large,
.uk-grid-divider.uk-grid-column-large {
  margin-left: -80px; }

.uk-grid-divider.uk-grid-large > *,
.uk-grid-divider.uk-grid-column-large > * {
  padding-left: 80px; }

.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
  left: 40px; }

/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px; }

.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px; }

.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px; }

.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
  left: 80px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large,
  .uk-grid-divider.uk-grid-column-large {
    margin-left: -300px; }
  .uk-grid-divider.uk-grid-large > *,
  .uk-grid-divider.uk-grid-column-large > * {
    padding-left: 300px; }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
    left: 150px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 300px; }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -150px;
    left: 300px; }
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
    top: -150px; }
  .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
    left: 300px; } }

/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *,
.uk-grid-item-match {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.uk-grid-match > * > :not([class*='uk-width']),
.uk-grid-item-match > :not([class*='uk-width']) {
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* 3 */
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto; }

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }

/* 2 */
.uk-nav li > a {
  display: block;
  text-decoration: none; }

/* 3 */
.uk-nav li > a:focus {
  outline: none; }

/*
 * Items
 * Must target `a` elements to exclude other elements (e.g. lists)
 */
.uk-nav > li > a {
  padding: 5px 0; }

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
ul.uk-nav-sub {
  padding: 5px 0 5px 15px; }

/*
 * Level 3 and deeper
 */
.uk-nav-sub ul {
  padding-left: 15px; }

/*
 * Items
 */
.uk-nav-sub a {
  padding: 2px 0; }

/* Parent icon modifier
 ========================================================================== */
.uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

.uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Header
 ========================================================================== */
.uk-nav-header {
  padding: 5px 0;
  text-transform: uppercase;
  font-size: 0.875rem; }

.uk-nav-header:not(:first-child) {
  margin-top: 20px; }

/* Divider
 ========================================================================== */
.uk-nav-divider {
  margin: 5px 0; }

/* Default modifier
 ========================================================================== */
.uk-nav-default {
  font-size: 0.875rem; }

/*
 * Items
 */
.uk-nav-default > li > a {
  color: #999; }

/* Hover + Focus */
.uk-nav-default > li > a:hover,
.uk-nav-default > li > a:focus {
  color: #666; }

/* Active */
.uk-nav-default > li.uk-active > a {
  color: #333; }

/*
 * Header
 */
.uk-nav-default .uk-nav-header {
  color: #333; }

/*
 * Divider
 */
.uk-nav-default .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-nav-default .uk-nav-sub a {
  color: #999; }

.uk-nav-default .uk-nav-sub a:hover,
.uk-nav-default .uk-nav-sub a:focus {
  color: #666; }

.uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #333; }

/* Primary modifier
 ========================================================================== */
/*
 * Items
 */
.uk-nav-primary > li > a {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #999; }

/* Hover + Focus */
.uk-nav-primary > li > a:hover,
.uk-nav-primary > li > a:focus {
  color: #666; }

/* Active */
.uk-nav-primary > li.uk-active > a {
  color: #333; }

/*
 * Header
 */
.uk-nav-primary .uk-nav-header {
  color: #333; }

/*
 * Divider
 */
.uk-nav-primary .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-nav-primary .uk-nav-sub a {
  color: #999; }

.uk-nav-primary .uk-nav-sub a:hover,
.uk-nav-primary .uk-nav-sub a:focus {
  color: #666; }

.uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #333; }

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: center; }

/* Sublists */
.uk-nav-center .uk-nav-sub,
.uk-nav-center .uk-nav-sub ul {
  padding-left: 0; }

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  position: absolute; }

/* ========================================================================
   Component: Navbar
 ========================================================================== */
/*
 * 1. Create position context to center navbar group
 */
.uk-navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  position: relative; }

/* Container
 ========================================================================== */
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #f8f8f8; }

/*
 * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
 */
.uk-navbar-container > ::before,
.uk-navbar-container > ::after {
  display: none !important; }

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 * 2. Note: IE 11 requires an extra `div` which affects the center selector
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center,
.uk-navbar-center-left > *,
.uk-navbar-center-right > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Fix text wrapping if content is larger than 50% of the container.
 * 3. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 4. Align sub groups for centered navbar
 */
.uk-navbar-right {
  margin-left: auto; }

.uk-navbar-center:only-child {
  margin-left: auto;
  margin-right: auto;
  /* 1 */
  position: relative; }

.uk-navbar-center:not(:only-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 2 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 3 */
  z-index: 990; }

/* 4 */
.uk-navbar-center-left,
.uk-navbar-center-right {
  position: absolute;
  top: 0; }

.uk-navbar-center-left {
  right: 100%; }

.uk-navbar-center-right {
  left: 100%; }

[class*='uk-navbar-center-'] {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none; }

/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Dimensions
 * 3. Style
 * 4. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  text-decoration: none; }

/*
 * Nav items
 */
.uk-navbar-nav > li > a {
  color: #999;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }

/*
 * Hover
 * Apply hover style also to focus state and if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none; }

/* OnClick */
.uk-navbar-nav > li > a:active {
  color: #333; }

/* Active */
.uk-navbar-nav > li.uk-active > a {
  color: #333; }

/* Item
 ========================================================================== */
.uk-navbar-item {
  color: #666; }

/* Toggle
 ========================================================================== */
.uk-navbar-toggle {
  color: #999; }

.uk-navbar-toggle:hover,
.uk-navbar-toggle:focus,
.uk-navbar-toggle.uk-open {
  color: #666;
  outline: none;
  text-decoration: none; }

/*
 * Icon
 * Adopts `uk-icon`
 */
/* Hover + Focus */
/* Subtitle
 ========================================================================== */
.uk-navbar-subtitle {
  font-size: 0.875rem; }

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15); }

/* Show */
.uk-navbar-dropdown.uk-open {
  display: block; }

/*
 * Direction / Alignment modifiers
 */
/* Direction */
[class*='uk-navbar-dropdown-top'] {
  margin-top: -15px; }

[class*='uk-navbar-dropdown-bottom'] {
  margin-top: 15px; }

[class*='uk-navbar-dropdown-left'] {
  margin-left: -15px; }

[class*='uk-navbar-dropdown-right'] {
  margin-left: 15px; }

/*
 * Grid
 * Adopts `uk-grid`
 */
/* Gutter Horizontal */
.uk-navbar-dropdown-grid {
  margin-left: -50px; }

.uk-navbar-dropdown-grid > * {
  padding-left: 50px; }

/* Gutter Vertical */
.uk-navbar-dropdown-grid > .uk-grid-margin {
  margin-top: 50px; }

/* Stack */
.uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
  width: 100% !important; }

/*
 * Width modifier
 */
.uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
  width: 400px; }

.uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
  width: 600px; }

.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
  width: 800px; }

.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
  width: 1000px; }

/*
 * Dropbar modifier
 */
.uk-navbar-dropdown-dropbar {
  margin-top: 0;
  margin-bottom: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-navbar-dropdown-nav {
  font-size: 0.875rem; }

/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
  color: #999; }

/* Hover + Focus */
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  color: #666; }

/* Active */
.uk-navbar-dropdown-nav > li.uk-active > a {
  color: #333; }

/*
 * Header
 */
.uk-navbar-dropdown-nav .uk-nav-header {
  color: #333; }

/*
 * Divider
 */
.uk-navbar-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-navbar-dropdown-nav .uk-nav-sub a {
  color: #999; }

.uk-navbar-dropdown-nav .uk-nav-sub a:hover,
.uk-navbar-dropdown-nav .uk-nav-sub a:focus {
  color: #666; }

.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #333; }

/* Dropbar
 ========================================================================== */
.uk-navbar-dropbar {
  background: #fff; }

/*
 * Slide modifier
 */
.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 980;
  left: 0;
  right: 0;
  -webkit-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
          box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05); }

/*
     * Navbar
     */
.uk-navbar-container > .uk-container .uk-navbar-left {
  margin-left: -15px;
  margin-right: -15px; }

.uk-navbar-container > .uk-container .uk-navbar-right {
  margin-right: -15px; }

/*
     * Grid Divider
     */
.uk-navbar-dropdown-grid > * {
  position: relative; }

.uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  border-left: 1px solid #e5e5e5; }

/* Vertical */
.uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50px;
  right: 0;
  border-top: 1px solid #e5e5e5; }

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }

/* Hover + Focus */
.uk-subnav > * > a:hover,
.uk-subnav > * > a:focus {
  color: #666;
  text-decoration: none;
  outline: none; }

/* Active */
.uk-subnav > .uk-active > a {
  color: #333; }

/* Divider modifier
 ========================================================================== */
/*
 * Set gutter 
 */
.uk-subnav-divider {
  margin-left: -41px; }

/*
 * Align items and divider vertically
 */
.uk-subnav-divider > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/*
 * Divider
 * 1. `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > ::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid transparent; }

/* 1 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  border-left-color: #e5e5e5; }

/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
  padding: 5px 10px;
  background: transparent;
  color: #999; }

/* Hover + Focus */
.uk-subnav-pill > * > a:hover,
.uk-subnav-pill > * > a:focus {
  background-color: #f8f8f8;
  color: #666; }

/* OnClick */
.uk-subnav-pill > * > a:active {
  background-color: #f8f8f8;
  color: #666; }

/* Active */
.uk-subnav-pill > .uk-active > a {
  background-color: #1e87f0;
  color: #fff; }

/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
  color: #999; }

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * Reset list
 */
.uk-breadcrumb {
  padding: 0;
  list-style: none; }

/*
 * 1. Doesn't generate any box and replaced by child boxes
 */
.uk-breadcrumb > * {
  display: contents; }

/* Items
 ========================================================================== */
.uk-breadcrumb > * > * {
  font-size: 0.875rem;
  color: #999; }

/* Hover + Focus */
.uk-breadcrumb > * > :hover,
.uk-breadcrumb > * > :focus {
  color: #666;
  text-decoration: none; }

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > span,
.uk-breadcrumb > :last-child > a:not([href]) {
  color: #666; }

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 * 1. Remove space between inline block elements.
 * 2. Style
 */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  /* 1 */
  margin: 0 20px 0 calc(20px - 4px);
  /* 2 */
  font-size: 0.875rem;
  color: #999; }

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: 0;
  /* 3 */
  padding: 0;
  list-style: none; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-pagination > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 0;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-pagination > * > * {
  /* 1 */
  display: block;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-pagination > * > :hover,
.uk-pagination > * > :focus {
  color: #666;
  text-decoration: none; }

/* Active */
.uk-pagination > .uk-active > * {
  color: #666; }

/* Disabled */
.uk-pagination > .uk-disabled > * {
  color: #999; }

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
  position: relative; }
  .uk-tab::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid #e5e5e5; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  color: #666;
  text-decoration: none; }

/* Active */
.uk-tab > .uk-active > a {
  color: #333;
  border-color: #1e87f0; }

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999; }

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
.uk-tab-bottom::before {
  top: 0;
  bottom: auto; }

.uk-tab-bottom > * > a {
  border-top: 1px solid transparent;
  border-bottom: none; }

/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 1 */
  margin-left: 0; }

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0; }

.uk-tab-left::before {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 1px solid #e5e5e5;
  border-bottom: none; }

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #e5e5e5;
  border-bottom: none; }

.uk-tab-left > * > a {
  text-align: left;
  border-right: 1px solid transparent;
  border-bottom: none; }

.uk-tab-right > * > a {
  text-align: left;
  border-left: 1px solid transparent;
  border-bottom: none; }

.uk-tab .uk-dropdown {
  margin-left: 30px; }

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.5);
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none; }

/* OnClick */
.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.5); }

/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px; }

/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -12px; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-dotnav > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 12px; }

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  border: 2px solid #fc3b3d;
  width: 18px;
  height: 18px; }
  @media (min-width: 1024px) {
    .uk-dotnav > * > * {
      width: 22px;
      height: 22px; } }

/* Hover + Focus */
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: #fc3b3d;
  outline: none;
  border-color: transparent; }

/* OnClick */
.uk-dotnav > * > :active {
  background-color: #fc3b3d;
  border-color: transparent; }

/* Active */
.uk-dotnav > .uk-active > * {
  background-color: #fc3b3d;
  border-color: transparent; }

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px; }

/* 2 */
.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 12px; }

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px; }

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-thumbnav > * {
  /* 1 */
  padding-left: 15px; }

/* Items
 ========================================================================== */
/*
 * Items
 */
.uk-thumbnav > * > * {
  display: inline-block;
  position: relative; }
  .uk-thumbnav > * > *::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.4);
    -webkit-transition: background-color 0.1s ease-in-out;
    transition: background-color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none; }
  .uk-thumbnav > * > :hover::after,
  .uk-thumbnav > * > :focus::after {
    background-color: transparent; }

/* Active */
.uk-thumbnav > .uk-active > *::after {
  background-color: transparent; }

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-thumbnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px; }

/* 2 */
.uk-thumbnav-vertical > * {
  padding-left: 0;
  padding-top: 15px; }

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px; }

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  padding-left: 10px; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999; }

/* Hover + Focus */
.uk-iconnav > * > a:hover,
.uk-iconnav > * > a:focus {
  color: #666;
  outline: none; }

/* Active */
.uk-iconnav > .uk-active > a {
  color: #666; }

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px; }

/* 2 */
.uk-iconnav-vertical > * {
  padding-left: 0;
  padding-top: 10px; }

/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  /* 7 */
  -ms-touch-action: pinch-zoom;
      touch-action: pinch-zoom; }

/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1; }

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden; }

/* Item
 ========================================================================== */
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 * 6. Suppress outline on focus
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity; }

/* 5 */
.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh; }

/* 6 */
.uk-lightbox-items > :focus {
  outline: none; }

.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto; }

.uk-lightbox-items > .uk-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/* Toolbar
 ========================================================================== */
.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7); }

.uk-lightbox-toolbar > * {
  color: rgba(255, 255, 255, 0.7); }

/* Toolbar Icon (Close)
 ========================================================================== */
.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7); }

/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff; }

/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/* Hover + Focus */
.uk-lightbox-button:hover,
.uk-lightbox-button:focus {
  color: #fff; }

/* OnClick */
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none; }

/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%; }

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
          animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
          animation-name: uk-fade-scale-02; }

.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
          animation-name: uk-fade-scale-18; }

/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
          animation-name: uk-fade-top; }

.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
          animation-name: uk-fade-bottom; }

.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
          animation-name: uk-fade-left; }

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
          animation-name: uk-fade-right; }

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
          animation-name: uk-fade-top-small; }

.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
          animation-name: uk-fade-bottom-small; }

.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
          animation-name: uk-fade-left-small; }

.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
          animation-name: uk-fade-right-small; }

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
          animation-name: uk-fade-top-medium; }

.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
          animation-name: uk-fade-bottom-medium; }

.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
          animation-name: uk-fade-left-medium; }

.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
          animation-name: uk-fade-right-medium; }

/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
          animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
          animation-duration: 15s; }

/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-shake;
          animation-name: uk-shake; }

/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  -webkit-animation-name: uk-stroke;
          animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  -webkit-animation-duration: 2s;
          animation-duration: 2s; }

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in; }

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s; }

/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*='uk-animation-'] {
  -webkit-animation-name: none;
          animation-name: none; }

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none; }

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
@keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }

/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }
@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }

/*
 * Stroke
 */
@-webkit-keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }

/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*='uk-child-width'] > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%; }

.uk-child-width-1-2 > * {
  width: 50%; }

.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001); }

.uk-child-width-1-4 > * {
  width: 25%; }

.uk-child-width-1-5 > * {
  width: 20%; }

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001); }

.uk-child-width-auto > * {
  width: auto; }

/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*='uk-width']) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  /* 1 */
  min-width: 1px; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-child-width-1-1\@s > * {
    width: 100%; }
  .uk-child-width-1-2\@s > * {
    width: 50%; }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@s > * {
    width: 25%; }
  .uk-child-width-1-5\@s > * {
    width: 20%; }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@s > * {
    width: auto; }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-child-width-1-1\@m > * {
    width: 100%; }
  .uk-child-width-1-2\@m > * {
    width: 50%; }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@m > * {
    width: 25%; }
  .uk-child-width-1-5\@m > * {
    width: 20%; }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@m > * {
    width: auto; }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%; }
  .uk-child-width-1-2\@l > * {
    width: 50%; }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@l > * {
    width: 25%; }
  .uk-child-width-1-5\@l > * {
    width: 20%; }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@l > * {
    width: auto; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%; }
  .uk-child-width-1-2\@xl > * {
    width: 50%; }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@xl > * {
    width: 25%; }
  .uk-child-width-1-5\@xl > * {
    width: 20%; }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@xl > * {
    width: auto; }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%; }

/* Halves */
.uk-width-1-2 {
  width: 50%; }

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001); }

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001); }

/* Quarters */
.uk-width-1-4 {
  width: 25%; }

.uk-width-3-4 {
  width: 75%; }

/* Fifths */
.uk-width-1-5 {
  width: 20%; }

.uk-width-2-5 {
  width: 40%; }

.uk-width-3-5 {
  width: 60%; }

.uk-width-4-5 {
  width: 80%; }

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001); }

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001); }

/* Pixel */
.uk-width-small {
  width: 150px; }

.uk-width-medium {
  width: 300px; }

.uk-width-large {
  width: 450px; }

.uk-width-xlarge {
  width: 600px; }

.uk-width-2xlarge {
  width: 750px; }

/* Auto */
.uk-width-auto {
  width: auto; }

/* Expand */
.uk-width-expand {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 1px; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%; }
  .uk-width-3-4\@s {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%; }
  .uk-width-2-5\@s {
    width: 40%; }
  .uk-width-3-5\@s {
    width: 60%; }
  .uk-width-4-5\@s {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px; }
  .uk-width-medium\@s {
    width: 300px; }
  .uk-width-large\@s {
    width: 450px; }
  .uk-width-xlarge\@s {
    width: 600px; }
  .uk-width-2xlarge\@s {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@s {
    width: auto; }
  /* Expand */
  .uk-width-expand\@s {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%; }
  .uk-width-3-4\@m {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%; }
  .uk-width-2-5\@m {
    width: 40%; }
  .uk-width-3-5\@m {
    width: 60%; }
  .uk-width-4-5\@m {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px; }
  .uk-width-medium\@m {
    width: 300px; }
  .uk-width-large\@m {
    width: 450px; }
  .uk-width-xlarge\@m {
    width: 600px; }
  .uk-width-2xlarge\@m {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@m {
    width: auto; }
  /* Expand */
  .uk-width-expand\@m {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%; }
  .uk-width-3-4\@l {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%; }
  .uk-width-2-5\@l {
    width: 40%; }
  .uk-width-3-5\@l {
    width: 60%; }
  .uk-width-4-5\@l {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px; }
  .uk-width-medium\@l {
    width: 300px; }
  .uk-width-large\@l {
    width: 450px; }
  .uk-width-xlarge\@l {
    width: 600px; }
  .uk-width-2xlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%; }
  .uk-width-3-4\@xl {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%; }
  .uk-width-2-5\@xl {
    width: 40%; }
  .uk-width-3-5\@xl {
    width: 60%; }
  .uk-width-4-5\@xl {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px; }
  .uk-width-medium\@xl {
    width: 300px; }
  .uk-width-large\@xl {
    width: 450px; }
  .uk-width-xlarge\@xl {
    width: 600px; }
  .uk-width-2xlarge\@xl {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xl {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

@media (min-width: 480px) {
  .uk-child-width-1-1\@xs > * {
    width: 100%; }
  .uk-child-width-1-2\@xs > * {
    width: 50%; }
  .uk-child-width-1-3\@xs > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@xs > * {
    width: 25%; }
  .uk-child-width-1-5\@xs > * {
    width: 20%; }
  .uk-child-width-1-6\@xs > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@xs > * {
    width: auto; }
  .uk-child-width-expand\@xs > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Phone landscape and bigger */
@media (min-width: 480px) {
  /* Whole */
  .uk-width-1-1\@xs {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@xs {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@xs {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@xs {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@xs {
    width: 25%; }
  .uk-width-3-4\@xs {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@xs {
    width: 20%; }
  .uk-width-2-5\@xs {
    width: 40%; }
  .uk-width-3-5\@xs {
    width: 60%; }
  .uk-width-4-5\@xs {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@xs {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@xs {
    width: calc(100% * 5 / 6.001); }
  /* Auto */
  .uk-width-auto\@xs {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xs {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-child-width-1-1\@s > * {
    width: 100%; }
  .uk-child-width-1-2\@s > * {
    width: 50%; }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@s > * {
    width: 25%; }
  .uk-child-width-1-5\@s > * {
    width: 20%; }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@s > * {
    width: auto; }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-child-width-1-1\@m > * {
    width: 100%; }
  .uk-child-width-1-2\@m > * {
    width: 50%; }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@m > * {
    width: 25%; }
  .uk-child-width-1-5\@m > * {
    width: 20%; }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@m > * {
    width: auto; }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%; }
  .uk-child-width-1-2\@l > * {
    width: 50%; }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@l > * {
    width: 25%; }
  .uk-child-width-1-5\@l > * {
    width: 20%; }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@l > * {
    width: auto; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%; }
  .uk-child-width-1-2\@xl > * {
    width: 50%; }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@xl > * {
    width: 25%; }
  .uk-child-width-1-5\@xl > * {
    width: 20%; }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@xl > * {
    width: auto; }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%; }
  .uk-width-3-4\@s {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%; }
  .uk-width-2-5\@s {
    width: 40%; }
  .uk-width-3-5\@s {
    width: 60%; }
  .uk-width-4-5\@s {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px; }
  .uk-width-medium\@s {
    width: 300px; }
  .uk-width-large\@s {
    width: 450px; }
  .uk-width-xlarge\@s {
    width: 600px; }
  .uk-width-2xlarge\@s {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@s {
    width: auto; }
  /* Expand */
  .uk-width-expand\@s {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%; }
  .uk-width-3-4\@m {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%; }
  .uk-width-2-5\@m {
    width: 40%; }
  .uk-width-3-5\@m {
    width: 60%; }
  .uk-width-4-5\@m {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px; }
  .uk-width-medium\@m {
    width: 300px; }
  .uk-width-large\@m {
    width: 450px; }
  .uk-width-xlarge\@m {
    width: 600px; }
  .uk-width-2xlarge\@m {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@m {
    width: auto; }
  /* Expand */
  .uk-width-expand\@m {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%; }
  .uk-width-3-4\@l {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%; }
  .uk-width-2-5\@l {
    width: 40%; }
  .uk-width-3-5\@l {
    width: 60%; }
  .uk-width-4-5\@l {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px; }
  .uk-width-medium\@l {
    width: 300px; }
  .uk-width-large\@l {
    width: 450px; }
  .uk-width-xlarge\@l {
    width: 600px; }
  .uk-width-2xlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%; }
  .uk-width-3-4\@xl {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%; }
  .uk-width-2-5\@xl {
    width: 40%; }
  .uk-width-3-5\@xl {
    width: 60%; }
  .uk-width-4-5\@xl {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px; }
  .uk-width-medium\@xl {
    width: 300px; }
  .uk-width-large\@xl {
    width: 450px; }
  .uk-width-xlarge\@xl {
    width: 600px; }
  .uk-width-2xlarge\@xl {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xl {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px; } }

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*='uk-height'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%; }

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh; }

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px; }

.uk-height-medium {
  height: 300px; }

.uk-height-large {
  height: 450px; }

.uk-height-max-small {
  max-height: 150px; }

.uk-height-max-medium {
  max-height: 300px; }

.uk-height-max-large {
  max-height: 450px; }

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333; }

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
  .uk-text-meta a {
    color: #999; }
  .uk-text-meta a:hover {
    color: #666;
    text-decoration: none; }

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5; }

.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5; }

.uk-text-default {
  font-size: 16px;
  line-height: 1.5; }

/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300; }

.uk-text-normal {
  font-weight: 400; }

.uk-text-bold {
  font-weight: 700; }

.uk-text-lighter {
  font-weight: lighter; }

.uk-text-bolder {
  font-weight: bolder; }

/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic; }

/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important; }

.uk-text-uppercase {
  text-transform: uppercase !important; }

.uk-text-lowercase {
  text-transform: lowercase !important; }

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important; }

.uk-text-emphasis {
  color: #333 !important; }

.uk-text-primary {
  color: #1e87f0 !important; }

.uk-text-secondary {
  color: #222 !important; }

.uk-text-success {
  color: #32d296 !important; }

.uk-text-warning {
  color: #faa05a !important; }

.uk-text-danger {
  color: #f0506e !important; }

/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important; }

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
    color: transparent !important; } }

/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important; }

.uk-text-right {
  text-align: right !important; }

.uk-text-center {
  text-align: center !important; }

.uk-text-justify {
  text-align: justify !important; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-text-left\@s {
    text-align: left !important; }
  .uk-text-right\@s {
    text-align: right !important; }
  .uk-text-center\@s {
    text-align: center !important; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-text-left\@m {
    text-align: left !important; }
  .uk-text-right\@m {
    text-align: right !important; }
  .uk-text-center\@m {
    text-align: center !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }

/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }

.uk-text-middle {
  vertical-align: middle !important; }

.uk-text-bottom {
  vertical-align: bottom !important; }

.uk-text-baseline {
  vertical-align: baseline !important; }

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word; }

/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*='uk-column-'] {
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*='uk-column-'] {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px; } }

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*='uk-column-'] img {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  -webkit-column-rule: 1px solid #e5e5e5;
     -moz-column-rule: 1px solid #e5e5e5;
          column-rule: 1px solid #e5e5e5;
  /* 1 */
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -webkit-column-gap: 80px;
       -moz-column-gap: 80px;
            column-gap: 80px; } }

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2; }

.uk-column-1-3 {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3; }

.uk-column-1-4 {
  -webkit-column-count: 4;
     -moz-column-count: 4;
          column-count: 4; }

.uk-column-1-5 {
  -webkit-column-count: 5;
     -moz-column-count: 5;
          column-count: 5; }

.uk-column-1-6 {
  -webkit-column-count: 6;
     -moz-column-count: 6;
          column-count: 6; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-column-1-2\@s {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
  .uk-column-1-3\@s {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3; }
  .uk-column-1-4\@s {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4; }
  .uk-column-1-5\@s {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5; }
  .uk-column-1-6\@s {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-column-1-2\@m {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
  .uk-column-1-3\@m {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3; }
  .uk-column-1-4\@m {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4; }
  .uk-column-1-5\@m {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5; }
  .uk-column-1-6\@m {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
  .uk-column-1-3\@l {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3; }
  .uk-column-1-4\@l {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4; }
  .uk-column-1-5\@l {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5; }
  .uk-column-1-6\@l {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
  .uk-column-1-3\@xl {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3; }
  .uk-column-1-4\@xl {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4; }
  .uk-column-1-5\@xl {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5; }
  .uk-column-1-6\@xl {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6; } }

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -webkit-column-span: all;
     -moz-column-span: all;
          column-span: all; }

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

iframe.uk-cover {
  pointer-events: none; }

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative; }

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff; }

.uk-background-muted {
  background-color: #f8f8f8; }

.uk-background-primary {
  background-color: #1e87f0; }

.uk-background-secondary {
  background-color: #222; }

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain {
  background-position: 50% 50%;
  background-repeat: no-repeat; }

.uk-background-cover {
  background-size: cover; }

.uk-background-contain {
  background-size: contain; }

/* Position
 ========================================================================== */
.uk-background-top-left {
  background-position: 0 0; }

.uk-background-top-center {
  background-position: 50% 0; }

.uk-background-top-right {
  background-position: 100% 0; }

.uk-background-center-left {
  background-position: 0 50%; }

.uk-background-center-center {
  background-position: 50% 50%; }

.uk-background-center-right {
  background-position: 100% 50%; }

.uk-background-bottom-left {
  background-position: 0 100%; }

.uk-background-bottom-center {
  background-position: 50% 100%; }

.uk-background-bottom-right {
  background-position: 100% 100%; }

/* Repeat
 ========================================================================== */
.uk-background-norepeat {
  background-repeat: no-repeat; }

/* Attachment
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll; } }

/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 767px) {
  .uk-background-image\@s {
    background-image: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 1023px) {
  .uk-background-image\@m {
    background-image: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important; } }

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important; } }

/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply; }

.uk-background-blend-screen {
  background-blend-mode: screen; }

.uk-background-blend-overlay {
  background-blend-mode: overlay; }

.uk-background-blend-darken {
  background-blend-mode: darken; }

.uk-background-blend-lighten {
  background-blend-mode: lighten; }

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge; }

.uk-background-blend-color-burn {
  background-blend-mode: color-burn; }

.uk-background-blend-hard-light {
  background-blend-mode: hard-light; }

.uk-background-blend-soft-light {
  background-blend-mode: soft-light; }

.uk-background-blend-difference {
  background-blend-mode: difference; }

.uk-background-blend-exclusion {
  background-blend-mode: exclusion; }

.uk-background-blend-hue {
  background-blend-mode: hue; }

.uk-background-blend-saturation {
  background-blend-mode: saturation; }

.uk-background-blend-color {
  background-blend-mode: color; }

.uk-background-blend-luminosity {
  background-blend-mode: luminosity; }

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*='uk-align'] {
  display: block;
  margin-bottom: 30px; }

* + [class*='uk-align'] {
  margin-top: 30px; }

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto; }

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left; }

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left; }
  .uk-align-right\@l {
    margin-top: 0;
    float: right; }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px; }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left; }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right; } }

/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: currentcolor; }

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  display: flow-root;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0; }

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both; }

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell; }

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both; }

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left; }

.uk-float-right {
  float: right; }

/* 1 */
[class*='uk-float-'] {
  max-width: 100%; }

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden; }

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.uk-overflow-auto > :last-child {
  margin-bottom: 0; }

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both; }

.uk-resize-vertical {
  resize: vertical; }

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important; }

.uk-display-inline {
  display: inline !important; }

.uk-display-inline-block {
  display: inline-block !important; }

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force hardware acceleration without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*='uk-inline'] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden; }

.uk-inline-clip {
  /* 6 */
  overflow: hidden; }

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none; }

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto; }

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none; }

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%; }

.uk-border-pill {
  border-radius: 500px; }

.uk-border-rounded {
  border-radius: 5px; }

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*='uk-border-'] {
  -webkit-transform: translateZ(0); }

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-medium {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-large {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-xlarge {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; }

.uk-box-shadow-hover-small:hover {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-medium:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-large:hover {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-hover-xlarge:hover {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports ((-webkit-filter: blur(0)) or (filter: blur(0))) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle; }
  .uk-box-shadow-bottom::before {
    content: '';
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    -webkit-filter: blur(20px);
            filter: blur(20px); }
  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative; } }

/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px; }

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%; } }

/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em; } }

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #666;
  /* 1 */
  text-decoration: none; }

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none; }

.uk-logo-inverse {
  display: none; }

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none; }

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move; }

/* 2 */
.uk-drag iframe {
  pointer-events: none; }

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  -webkit-box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
          box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); }

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply; }

.uk-blend-screen {
  mix-blend-mode: screen; }

.uk-blend-overlay {
  mix-blend-mode: overlay; }

.uk-blend-darken {
  mix-blend-mode: darken; }

.uk-blend-lighten {
  mix-blend-mode: lighten; }

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge; }

.uk-blend-color-burn {
  mix-blend-mode: color-burn; }

.uk-blend-hard-light {
  mix-blend-mode: hard-light; }

.uk-blend-soft-light {
  mix-blend-mode: soft-light; }

.uk-blend-difference {
  mix-blend-mode: difference; }

.uk-blend-exclusion {
  mix-blend-mode: exclusion; }

.uk-blend-hue {
  mix-blend-mode: hue; }

.uk-blend-saturation {
  mix-blend-mode: saturation; }

.uk-blend-color {
  mix-blend-mode: color; }

.uk-blend-luminosity {
  mix-blend-mode: luminosity; }

/* Transform
========================================================================== */
.uk-transform-center {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0; }

.uk-transform-origin-top-center {
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0; }

.uk-transform-origin-top-right {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0; }

.uk-transform-origin-center-left {
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%; }

.uk-transform-origin-center-right {
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%; }

.uk-transform-origin-bottom-left {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%; }

.uk-transform-origin-bottom-center {
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%; }

.uk-transform-origin-bottom-right {
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%; }

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.uk-flex-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none; }

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.uk-flex-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.uk-flex-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.uk-flex-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.uk-flex-around {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-left\@s {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@s {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@s {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@s {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-flex-left\@m {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@m {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@m {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@m {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@l {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@l {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@l {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@xl {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@xl {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@xl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.uk-flex-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.uk-flex-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.uk-flex-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

/* Direction
 ========================================================================== */
.uk-flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.uk-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.uk-flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.uk-flex-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }

.uk-flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.uk-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse; }

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  -ms-flex-line-pack: stretch;
      align-content: stretch; }

.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
      align-content: flex-start; }

.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
      align-content: center; }

.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
      align-content: flex-end; }

.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
      align-content: space-between; }

.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
      align-content: space-around; }

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }

.uk-flex-last {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-first\@s {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@s {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-flex-first\@m {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@m {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@l {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@xl {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }

/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto; }

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }

* + .uk-margin {
  margin-top: 20px !important; }

.uk-margin-top {
  margin-top: 20px !important; }

.uk-margin-bottom {
  margin-bottom: 20px !important; }

.uk-margin-left {
  margin-left: 20px !important; }

.uk-margin-right {
  margin-right: 20px !important; }

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }

* + .uk-margin-small {
  margin-top: 10px !important; }

.uk-margin-small-top {
  margin-top: 10px !important; }

.uk-margin-small-bottom {
  margin-bottom: 10px !important; }

.uk-margin-small-left {
  margin-left: 10px !important; }

.uk-margin-small-right {
  margin-right: 10px !important; }

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }

* + .uk-margin-medium {
  margin-top: 40px !important; }

.uk-margin-medium-top {
  margin-top: 40px !important; }

.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }

.uk-margin-medium-left {
  margin-left: 40px !important; }

.uk-margin-medium-right {
  margin-right: 40px !important; }

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }

* + .uk-margin-large {
  margin-top: 40px !important; }

.uk-margin-large-top {
  margin-top: 40px !important; }

.uk-margin-large-bottom {
  margin-bottom: 40px !important; }

.uk-margin-large-left {
  margin-left: 40px !important; }

.uk-margin-large-right {
  margin-right: 40px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }

/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }

* + .uk-margin-xlarge {
  margin-top: 70px !important; }

.uk-margin-xlarge-top {
  margin-top: 70px !important; }

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }

.uk-margin-xlarge-left {
  margin-left: 70px !important; }

.uk-margin-xlarge-right {
  margin-right: 70px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }

/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important; }

.uk-margin-auto-top {
  margin-top: auto !important; }

.uk-margin-auto-bottom {
  margin-bottom: auto !important; }

.uk-margin-auto-left {
  margin-left: auto !important; }

.uk-margin-auto-right {
  margin-right: auto !important; }

.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@s {
    margin-left: auto !important; }
  .uk-margin-auto-right\@s {
    margin-right: auto !important; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@m {
    margin-left: auto !important; }
  .uk-margin-auto-right\@m {
    margin-right: auto !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@l {
    margin-left: auto !important; }
  .uk-margin-auto-right\@l {
    margin-right: auto !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@xl {
    margin-left: auto !important; }
  .uk-margin-auto-right\@xl {
    margin-right: auto !important; } }

/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important; }

.uk-margin-remove-top {
  margin-top: 0 !important; }

.uk-margin-remove-bottom {
  margin-bottom: 0 !important; }

.uk-margin-remove-left {
  margin-left: 0 !important; }

.uk-margin-remove-right {
  margin-right: 0 !important; }

.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important; }

.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@s {
    margin-right: 0 !important; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@l {
    margin-right: 0 !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important; } }

/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px; } }

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px; }

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px; } }

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important; }

.uk-padding-remove-top {
  padding-top: 0 !important; }

.uk-padding-remove-bottom {
  padding-bottom: 0 !important; }

.uk-padding-remove-left {
  padding-left: 0 !important; }

.uk-padding-remove-right {
  padding-right: 0 !important; }

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important;
  /* 1 */
  max-width: 100%; }

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0; }

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0; }

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0; }

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0; }

/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0; }

.uk-position-top-right {
  top: 0;
  right: 0; }

.uk-position-bottom-left {
  bottom: 0;
  left: 0; }

.uk-position-bottom-right {
  bottom: 0;
  right: 0; }

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.uk-position-center-left {
  left: 0; }

.uk-position-center-right {
  right: 0; }

.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }

.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.uk-position-top-center {
  top: 0; }

.uk-position-bottom-center {
  bottom: 0; }

/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important; }

.uk-position-absolute {
  position: absolute !important; }

.uk-position-fixed {
  position: fixed !important; }

.uk-position-z-index {
  z-index: 1; }

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px; }

.uk-position-small.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-15px, -15px);
          transform: translate(-50%, -50%) translate(-15px, -15px); }

.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-15px);
          transform: translateY(-50%) translateY(-15px); }

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-15px);
          transform: translateX(-50%) translateX(-15px); }

/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }

.uk-position-medium.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }

/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }

.uk-position-large.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px; }
  .uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
            transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    -webkit-transform: translateY(-50%) translateY(-50px);
            transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    -webkit-transform: translateX(-50%) translateX(-50px);
            transform: translateX(-50%) translateX(-50px); } }

/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none; }

/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
  opacity: 0; }

/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1; }

/*
 * Scale
 */
.uk-transition-scale-up {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); }

.uk-transition-scale-down {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); }

/*
 * Slide
 */
.uk-transition-slide-top {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

.uk-transition-slide-bottom {
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

.uk-transition-slide-left {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

.uk-transition-slide-right {
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }

.uk-transition-slide-top-small {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px); }

.uk-transition-slide-bottom-small {
  -webkit-transform: translateY(10px);
          transform: translateY(10px); }

.uk-transition-slide-left-small {
  -webkit-transform: translateX(-10px);
          transform: translateX(-10px); }

.uk-transition-slide-right-small {
  -webkit-transform: translateX(10px);
          transform: translateX(10px); }

.uk-transition-slide-top-medium {
  -webkit-transform: translateY(-50px);
          transform: translateY(-50px); }

.uk-transition-slide-bottom-medium {
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.uk-transition-slide-left-medium {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px); }

.uk-transition-slide-right-medium {
  -webkit-transform: translateX(50px);
          transform: translateX(50px); }

/* Show */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle:focus [class*='uk-transition-slide'],
.uk-transition-active.uk-active [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1; }

/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
          transition-duration: 0.7s; }

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important; }

/* Phone landscape and bigger */
@media (min-width: 768px) {
  .uk-hidden\@s {
    display: none !important; } }

/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-hidden\@m {
    display: none !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important; } }

/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 767px) {
  .uk-visible\@s {
    display: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 1023px) {
  .uk-visible\@m {
    display: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important; } }

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important; } }

/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important; }

/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important; }

/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important; }

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }

/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none; }

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important; } }

/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important; }

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important; } }

/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn {
  display: inline-block;
  position: relative;
  font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out; }
  .blue-btn:hover, .blue-btn:focus {
    color: #fff;
    text-decoration: none;
    outline: none; }
  .blue-btn:active {
    top: 1px; }

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn {
  background-color: #0f5de5; }
  .blue-btn:hover, .blue-btn:focus {
    background-color: #0e55d2; }
  .blue-btn:active {
    background-color: #0d53cd; }

input[type="submit"] {
  color: white;
  text-transform: uppercase;
  text-align: center;
  padding: 6px 18px;
  font-size: 16px;
  float: right;
  height: 40px;
  border: none;
  background-color: transparent;
  display: inline-block;
  border-right: 3px solid white;
  border-bottom: 3px solid white;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }
  @media (min-width: 768px) {
    input[type="submit"] {
      font-size: 20px; } }
  input[type="submit"]:hover {
    color: white;
    text-decoration: none;
    background-color: #1ab347; }
  input[type="submit"].red-btn {
    background-color: #fc3b3d; }
    input[type="submit"].red-btn:hover {
      background-color: #1ab347; }
  input[type="submit"].violet-btn {
    background-color: #b480e5; }
    input[type="submit"].violet-btn:hover {
      background-color: #1ab347; }
  input[type="submit"].green-btn {
    background-color: #1ab347; }
    input[type="submit"].green-btn:hover {
      background-color: #1ab347; }

.read-more {
  color: white;
  text-transform: uppercase;
  text-align: center;
  padding: 6px 18px;
  font-size: 1.4em;
  border: none;
  background-color: transparent;
  display: inline-block;
  border-right: 3px solid white;
  border-bottom: 3px solid white;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }
  .read-more:hover {
    color: white;
    text-decoration: none; }
  .read-more.larger {
    padding: 12px 27px;
    font-size: 1.8em; }
  .read-more.red-btn {
    background-color: #fc3b3d; }
  .read-more.violet-btn {
    background-color: #b480e5; }
  .read-more.green-btn {
    background-color: #1ab347; }

a.read-more,
a.read-more:active,
a.read-more:hover,
a.read-more:visited {
  color: white; }
  a.read-more:hover,
  a.read-more:active:hover,
  a.read-more:hover:hover,
  a.read-more:visited:hover {
    color: white;
    text-decoration: none; }

.bg-white .read-more {
  color: #fc3b3d;
  border-right: 3px solid #fc3b3d;
  border-bottom: 3px solid #fc3b3d; }
  .bg-white .read-more:hover {
    background-color: #fc3b3d;
    color: white; }

.bg-violet a.read-more,
.bg-violet a.read-more:active,
.bg-violet a.read-more:visited,
.bg-violet .read-more {
  border-left: 3px solid #b480e5;
  border-top: 3px solid #b480e5; }
  .bg-violet a.read-more:hover,
  .bg-violet a.read-more:active:hover,
  .bg-violet a.read-more:visited:hover,
  .bg-violet .read-more:hover {
    border-left: 3px solid white;
    border-top: 3px solid white;
    background-color: white;
    color: #b480e5; }

.bg-violet .bg-white .read-more {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff; }

.bg-red a.read-more,
.bg-red a.read-more:active,
.bg-red a.read-more:visited,
.bg-red .read-more {
  border-left: 3px solid #fc3b3d;
  border-top: 3px solid #fc3b3d; }
  .bg-red a.read-more:hover,
  .bg-red a.read-more:active:hover,
  .bg-red a.read-more:visited:hover,
  .bg-red .read-more:hover {
    border-left: 3px solid white;
    border-top: 3px solid white;
    background-color: white;
    color: #b480e5; }

.bg-red .bg-white .read-more {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff; }

.bg-white a.read-more,
.bg-white a.read-more:active,
.bg-white a.read-more:visited,
.bg-white .read-more {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff; }
  .bg-white a.read-more:hover,
  .bg-white a.read-more:active:hover,
  .bg-white a.read-more:visited:hover,
  .bg-white .read-more:hover {
    border-left: 3px solid white;
    border-top: 3px solid white;
    background-color: white;
    color: #fc3b3d; }

.bg-white .bg-white .read-more {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff; }

.bg-pink a.read-more,
.bg-pink a.read-more:active,
.bg-pink a.read-more:visited,
.bg-pink .read-more {
  border-left: 3px solid #e881aa;
  border-top: 3px solid #e881aa; }
  .bg-pink a.read-more:hover,
  .bg-pink a.read-more:active:hover,
  .bg-pink a.read-more:visited:hover,
  .bg-pink .read-more:hover {
    border-left: 3px solid white;
    border-top: 3px solid white;
    background-color: white;
    color: #b480e5; }

.bg-pink .bg-white .read-more {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff; }

.big-red-button,
a.big-red-button,
a.big-red-button:visited {
  text-align: center;
  background-color: #fc3b3d;
  margin: 0 auto;
  color: white;
  display: inline-block;
  padding: 12px 48px;
  margin-top: 45px;
  font-size: 2em; }
  @media (min-width: 768px) {
    .big-red-button,
    a.big-red-button,
    a.big-red-button:visited {
      margin-top: 90px;
      font-size: 3.2em; } }
  .big-red-button:hover,
  a.big-red-button:hover,
  a.big-red-button:visited:hover {
    color: #fc3b3d;
    background-color: white; }
  .big-red-button .bg-white .read-more,
  a.big-red-button .bg-white .read-more,
  a.big-red-button:visited .bg-white .read-more {
    border-left: 3px solid #fff;
    border-top: 3px solid #fff; }

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  height: 40px;
  line-height: 20px;
  padding: 14px 9px 10px 9px;
  font-size: 16px;
  color: white;
  vertical-align: middle;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  width: 100%;
  font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-bottom: 3px solid white;
  background-color: transparent;
  color: #000000;
  background-color: white; }
  input[type="text"]:focus, input[type="text"]:active,
  input[type="password"]:focus,
  input[type="password"]:active,
  input[type="datetime"]:focus,
  input[type="datetime"]:active,
  input[type="datetime-local"]:focus,
  input[type="datetime-local"]:active,
  input[type="date"]:focus,
  input[type="date"]:active,
  input[type="month"]:focus,
  input[type="month"]:active,
  input[type="time"]:focus,
  input[type="time"]:active,
  input[type="week"]:focus,
  input[type="week"]:active,
  input[type="number"]:focus,
  input[type="number"]:active,
  input[type="email"]:focus,
  input[type="email"]:active,
  input[type="url"]:focus,
  input[type="url"]:active,
  input[type="search"]:focus,
  input[type="search"]:active,
  input[type="tel"]:focus,
  input[type="tel"]:active,
  input[type="color"]:focus,
  input[type="color"]:active,
  select:focus,
  select:active,
  textarea:focus,
  textarea:active,
  .field:focus,
  .field:active {
    background-color: rgba(255, 255, 255, 0.9);
    outline: none; }
  input[type="text"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  input[type="datetime"]::-webkit-input-placeholder,
  input[type="datetime-local"]::-webkit-input-placeholder,
  input[type="date"]::-webkit-input-placeholder,
  input[type="month"]::-webkit-input-placeholder,
  input[type="time"]::-webkit-input-placeholder,
  input[type="week"]::-webkit-input-placeholder,
  input[type="number"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder,
  input[type="url"]::-webkit-input-placeholder,
  input[type="search"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="color"]::-webkit-input-placeholder,
  select::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder,
  .field::-webkit-input-placeholder {
    color: white; }
  input[type="text"]::-moz-placeholder,
  input[type="password"]::-moz-placeholder,
  input[type="datetime"]::-moz-placeholder,
  input[type="datetime-local"]::-moz-placeholder,
  input[type="date"]::-moz-placeholder,
  input[type="month"]::-moz-placeholder,
  input[type="time"]::-moz-placeholder,
  input[type="week"]::-moz-placeholder,
  input[type="number"]::-moz-placeholder,
  input[type="email"]::-moz-placeholder,
  input[type="url"]::-moz-placeholder,
  input[type="search"]::-moz-placeholder,
  input[type="tel"]::-moz-placeholder,
  input[type="color"]::-moz-placeholder,
  select::-moz-placeholder,
  textarea::-moz-placeholder,
  .field::-moz-placeholder {
    color: white; }
  input[type="text"]::-ms-input-placeholder,
  input[type="password"]::-ms-input-placeholder,
  input[type="datetime"]::-ms-input-placeholder,
  input[type="datetime-local"]::-ms-input-placeholder,
  input[type="date"]::-ms-input-placeholder,
  input[type="month"]::-ms-input-placeholder,
  input[type="time"]::-ms-input-placeholder,
  input[type="week"]::-ms-input-placeholder,
  input[type="number"]::-ms-input-placeholder,
  input[type="email"]::-ms-input-placeholder,
  input[type="url"]::-ms-input-placeholder,
  input[type="search"]::-ms-input-placeholder,
  input[type="tel"]::-ms-input-placeholder,
  input[type="color"]::-ms-input-placeholder,
  select::-ms-input-placeholder,
  textarea::-ms-input-placeholder,
  .field::-ms-input-placeholder {
    color: white; }
  input[type="text"]::placeholder,
  input[type="password"]::placeholder,
  input[type="datetime"]::placeholder,
  input[type="datetime-local"]::placeholder,
  input[type="date"]::placeholder,
  input[type="month"]::placeholder,
  input[type="time"]::placeholder,
  input[type="week"]::placeholder,
  input[type="number"]::placeholder,
  input[type="email"]::placeholder,
  input[type="url"]::placeholder,
  input[type="search"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="color"]::placeholder,
  select::placeholder,
  textarea::placeholder,
  .field::placeholder {
    color: white; }
  input[type="text"].error, input[type="text"].is-invalid,
  input[type="password"].error,
  input[type="password"].is-invalid,
  input[type="datetime"].error,
  input[type="datetime"].is-invalid,
  input[type="datetime-local"].error,
  input[type="datetime-local"].is-invalid,
  input[type="date"].error,
  input[type="date"].is-invalid,
  input[type="month"].error,
  input[type="month"].is-invalid,
  input[type="time"].error,
  input[type="time"].is-invalid,
  input[type="week"].error,
  input[type="week"].is-invalid,
  input[type="number"].error,
  input[type="number"].is-invalid,
  input[type="email"].error,
  input[type="email"].is-invalid,
  input[type="url"].error,
  input[type="url"].is-invalid,
  input[type="search"].error,
  input[type="search"].is-invalid,
  input[type="tel"].error,
  input[type="tel"].is-invalid,
  input[type="color"].error,
  input[type="color"].is-invalid,
  select.error,
  select.is-invalid,
  textarea.error,
  textarea.is-invalid,
  .field.error,
  .field.is-invalid {
    color: #fbe3e4;
    border-color: #fbe3e4;
    background-color: #fff;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
    outline-color: #fbe3e4; }
  input[type="text"].success, input[type="text"].is-valid,
  input[type="password"].success,
  input[type="password"].is-valid,
  input[type="datetime"].success,
  input[type="datetime"].is-valid,
  input[type="datetime-local"].success,
  input[type="datetime-local"].is-valid,
  input[type="date"].success,
  input[type="date"].is-valid,
  input[type="month"].success,
  input[type="month"].is-valid,
  input[type="time"].success,
  input[type="time"].is-valid,
  input[type="week"].success,
  input[type="week"].is-valid,
  input[type="number"].success,
  input[type="number"].is-valid,
  input[type="email"].success,
  input[type="email"].is-valid,
  input[type="url"].success,
  input[type="url"].is-valid,
  input[type="search"].success,
  input[type="search"].is-valid,
  input[type="tel"].success,
  input[type="tel"].is-valid,
  input[type="color"].success,
  input[type="color"].is-valid,
  select.success,
  select.is-valid,
  textarea.success,
  textarea.is-valid,
  .field.success,
  .field.is-valid {
    color: #e6efc2;
    border-color: #e6efc2;
    background-color: #fff;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
    outline-color: #e6efc2; }
  input[type="text"][disabled], input[type="text"].is-disabled,
  input[type="password"][disabled],
  input[type="password"].is-disabled,
  input[type="datetime"][disabled],
  input[type="datetime"].is-disabled,
  input[type="datetime-local"][disabled],
  input[type="datetime-local"].is-disabled,
  input[type="date"][disabled],
  input[type="date"].is-disabled,
  input[type="month"][disabled],
  input[type="month"].is-disabled,
  input[type="time"][disabled],
  input[type="time"].is-disabled,
  input[type="week"][disabled],
  input[type="week"].is-disabled,
  input[type="number"][disabled],
  input[type="number"].is-disabled,
  input[type="email"][disabled],
  input[type="email"].is-disabled,
  input[type="url"][disabled],
  input[type="url"].is-disabled,
  input[type="search"][disabled],
  input[type="search"].is-disabled,
  input[type="tel"][disabled],
  input[type="tel"].is-disabled,
  input[type="color"][disabled],
  input[type="color"].is-disabled,
  select[disabled],
  select.is-disabled,
  textarea[disabled],
  textarea.is-disabled,
  .field[disabled],
  .field.is-disabled {
    cursor: not-allowed;
    border-color: #cfcfcf;
    opacity: 0.6; }
    input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
    input[type="password"][disabled]:focus,
    input[type="password"][disabled]:active,
    input[type="password"].is-disabled:focus,
    input[type="password"].is-disabled:active,
    input[type="datetime"][disabled]:focus,
    input[type="datetime"][disabled]:active,
    input[type="datetime"].is-disabled:focus,
    input[type="datetime"].is-disabled:active,
    input[type="datetime-local"][disabled]:focus,
    input[type="datetime-local"][disabled]:active,
    input[type="datetime-local"].is-disabled:focus,
    input[type="datetime-local"].is-disabled:active,
    input[type="date"][disabled]:focus,
    input[type="date"][disabled]:active,
    input[type="date"].is-disabled:focus,
    input[type="date"].is-disabled:active,
    input[type="month"][disabled]:focus,
    input[type="month"][disabled]:active,
    input[type="month"].is-disabled:focus,
    input[type="month"].is-disabled:active,
    input[type="time"][disabled]:focus,
    input[type="time"][disabled]:active,
    input[type="time"].is-disabled:focus,
    input[type="time"].is-disabled:active,
    input[type="week"][disabled]:focus,
    input[type="week"][disabled]:active,
    input[type="week"].is-disabled:focus,
    input[type="week"].is-disabled:active,
    input[type="number"][disabled]:focus,
    input[type="number"][disabled]:active,
    input[type="number"].is-disabled:focus,
    input[type="number"].is-disabled:active,
    input[type="email"][disabled]:focus,
    input[type="email"][disabled]:active,
    input[type="email"].is-disabled:focus,
    input[type="email"].is-disabled:active,
    input[type="url"][disabled]:focus,
    input[type="url"][disabled]:active,
    input[type="url"].is-disabled:focus,
    input[type="url"].is-disabled:active,
    input[type="search"][disabled]:focus,
    input[type="search"][disabled]:active,
    input[type="search"].is-disabled:focus,
    input[type="search"].is-disabled:active,
    input[type="tel"][disabled]:focus,
    input[type="tel"][disabled]:active,
    input[type="tel"].is-disabled:focus,
    input[type="tel"].is-disabled:active,
    input[type="color"][disabled]:focus,
    input[type="color"][disabled]:active,
    input[type="color"].is-disabled:focus,
    input[type="color"].is-disabled:active,
    select[disabled]:focus,
    select[disabled]:active,
    select.is-disabled:focus,
    select.is-disabled:active,
    textarea[disabled]:focus,
    textarea[disabled]:active,
    textarea.is-disabled:focus,
    textarea.is-disabled:active,
    .field[disabled]:focus,
    .field[disabled]:active,
    .field.is-disabled:focus,
    .field.is-disabled:active {
      background-color: #d5edf8; }

input[type="password"] {
  letter-spacing: 0.3em; }

textarea {
  max-width: 100%;
  min-height: 240px;
  line-height: 1.5em; }

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center; }

.wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #fc3b3d;
  font-size: 1.2em; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #e881aa; }

.wpcf7 form span.wpcf7-not-valid-tip,
.wpcf7 form label {
  display: block;
  margin-bottom: 10px;
  font-size: 16px; }
  @media (min-width: 768px) {
    .wpcf7 form span.wpcf7-not-valid-tip,
    .wpcf7 form label {
      font-size: 20px; } }

.wpcf7 form span.wpcf7-not-valid-tip {
  color: #fc3b3d; }

.wpcf7 form .wpcf7-response-output {
  border-color: #e881aa;
  background-color: #e881aa;
  color: #fff;
  font-size: 1.6em;
  margin: 45px 0 0 0;
  padding: 10px; }

.wpcf7 form input[type="text"]::-webkit-input-placeholder,
.wpcf7 form input[type="password"]::-webkit-input-placeholder,
.wpcf7 form input[type="datetime"]::-webkit-input-placeholder,
.wpcf7 form input[type="datetime-local"]::-webkit-input-placeholder,
.wpcf7 form input[type="date"]::-webkit-input-placeholder,
.wpcf7 form input[type="month"]::-webkit-input-placeholder,
.wpcf7 form input[type="time"]::-webkit-input-placeholder,
.wpcf7 form input[type="week"]::-webkit-input-placeholder,
.wpcf7 form input[type="number"]::-webkit-input-placeholder,
.wpcf7 form input[type="email"]::-webkit-input-placeholder,
.wpcf7 form input[type="url"]::-webkit-input-placeholder,
.wpcf7 form input[type="search"]::-webkit-input-placeholder,
.wpcf7 form input[type="tel"]::-webkit-input-placeholder,
.wpcf7 form input[type="color"]::-webkit-input-placeholder,
.wpcf7 form select::-webkit-input-placeholder,
.wpcf7 form textarea::-webkit-input-placeholder,
.wpcf7 form .field::-webkit-input-placeholder {
  color: #000000; }

.wpcf7 form input[type="text"]::-moz-placeholder,
.wpcf7 form input[type="password"]::-moz-placeholder,
.wpcf7 form input[type="datetime"]::-moz-placeholder,
.wpcf7 form input[type="datetime-local"]::-moz-placeholder,
.wpcf7 form input[type="date"]::-moz-placeholder,
.wpcf7 form input[type="month"]::-moz-placeholder,
.wpcf7 form input[type="time"]::-moz-placeholder,
.wpcf7 form input[type="week"]::-moz-placeholder,
.wpcf7 form input[type="number"]::-moz-placeholder,
.wpcf7 form input[type="email"]::-moz-placeholder,
.wpcf7 form input[type="url"]::-moz-placeholder,
.wpcf7 form input[type="search"]::-moz-placeholder,
.wpcf7 form input[type="tel"]::-moz-placeholder,
.wpcf7 form input[type="color"]::-moz-placeholder,
.wpcf7 form select::-moz-placeholder,
.wpcf7 form textarea::-moz-placeholder,
.wpcf7 form .field::-moz-placeholder {
  color: #000000; }

.wpcf7 form input[type="text"]::-ms-input-placeholder,
.wpcf7 form input[type="password"]::-ms-input-placeholder,
.wpcf7 form input[type="datetime"]::-ms-input-placeholder,
.wpcf7 form input[type="datetime-local"]::-ms-input-placeholder,
.wpcf7 form input[type="date"]::-ms-input-placeholder,
.wpcf7 form input[type="month"]::-ms-input-placeholder,
.wpcf7 form input[type="time"]::-ms-input-placeholder,
.wpcf7 form input[type="week"]::-ms-input-placeholder,
.wpcf7 form input[type="number"]::-ms-input-placeholder,
.wpcf7 form input[type="email"]::-ms-input-placeholder,
.wpcf7 form input[type="url"]::-ms-input-placeholder,
.wpcf7 form input[type="search"]::-ms-input-placeholder,
.wpcf7 form input[type="tel"]::-ms-input-placeholder,
.wpcf7 form input[type="color"]::-ms-input-placeholder,
.wpcf7 form select::-ms-input-placeholder,
.wpcf7 form textarea::-ms-input-placeholder,
.wpcf7 form .field::-ms-input-placeholder {
  color: #000000; }

.wpcf7 form input[type="text"]::placeholder,
.wpcf7 form input[type="password"]::placeholder,
.wpcf7 form input[type="datetime"]::placeholder,
.wpcf7 form input[type="datetime-local"]::placeholder,
.wpcf7 form input[type="date"]::placeholder,
.wpcf7 form input[type="month"]::placeholder,
.wpcf7 form input[type="time"]::placeholder,
.wpcf7 form input[type="week"]::placeholder,
.wpcf7 form input[type="number"]::placeholder,
.wpcf7 form input[type="email"]::placeholder,
.wpcf7 form input[type="url"]::placeholder,
.wpcf7 form input[type="search"]::placeholder,
.wpcf7 form input[type="tel"]::placeholder,
.wpcf7 form input[type="color"]::placeholder,
.wpcf7 form select::placeholder,
.wpcf7 form textarea::placeholder,
.wpcf7 form .field::placeholder {
  color: #000000; }

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #1ab347;
  background-color: #1ab347; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 12px 12px;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #fff; }

.hamburger-box {
  width: 20px;
  height: 12px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 20px;
    height: 2px;
    background-color: #fff;
    border-radius: 0;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -5px; }
  .hamburger-inner::after {
    bottom: -5px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dx .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dx-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dy .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(-180deg);
          transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dy-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg);
          transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dxy .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg);
          transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  -webkit-perspective: 40px;
          perspective: 40px; }

.hamburger--3dxy-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
    -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
          transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
            transform: translate3d(0, -5px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);
  -webkit-transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);
  -webkit-transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);
  -webkit-transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);
  -webkit-transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }
  .hamburger--arrowturn.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
            transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  .hamburger--arrowturn.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
            transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
            transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
            transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  -webkit-transition-property: none;
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -10px;
    -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
          transform: translate3d(0, -5px, 0) rotate(-45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -10px;
    -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -5px, 0) rotate(45deg);
          transform: translate3d(0, -5px, 0) rotate(45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 1px;
  -webkit-transition-duration: 0.275s;
          transition-duration: 0.275s;
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 5px;
    -webkit-transition: opacity 0.125s 0.275s ease;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 10px;
    -webkit-transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 5px, 0) rotate(135deg);
          transform: translate3d(0, 5px, 0) rotate(135deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -10px, 0) rotate(-270deg);
            transform: translate3d(0, -10px, 0) rotate(-270deg);
    -webkit-transition-delay: 0.075s;
            transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 1px;
  -webkit-transition-duration: 0.275s;
          transition-duration: 0.275s;
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 5px;
    -webkit-transition: opacity 0.125s 0.275s ease;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 10px;
    -webkit-transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 5px, 0) rotate(-135deg);
          transform: translate3d(0, 5px, 0) rotate(-135deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -10px, 0) rotate(270deg);
            transform: translate3d(0, -10px, 0) rotate(270deg);
    -webkit-transition-delay: 0.075s;
            transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    -webkit-transition: background-color 0.125s 0.175s ease-in;
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      -webkit-transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
    .hamburger--emphatic .hamburger-inner::after {
      top: 5px;
      right: 0;
      -webkit-transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
  .hamburger--emphatic.is-active .hamburger-inner {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -40px;
      top: -40px;
      -webkit-transform: translate3d(40px, 40px, 0) rotate(45deg);
              transform: translate3d(40px, 40px, 0) rotate(45deg);
      -webkit-transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -40px;
      top: -40px;
      -webkit-transform: translate3d(-40px, 40px, 0) rotate(-45deg);
              transform: translate3d(-40px, 40px, 0) rotate(-45deg);
      -webkit-transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    -webkit-transition: background-color 0.125s 0.175s ease-in;
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      -webkit-transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 5px;
      right: 0;
      -webkit-transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -40px;
      top: 40px;
      -webkit-transform: translate3d(40px, -40px, 0) rotate(-45deg);
              transform: translate3d(40px, -40px, 0) rotate(-45deg);
      -webkit-transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -40px;
      top: 40px;
      -webkit-transform: translate3d(-40px, -40px, 0) rotate(45deg);
              transform: translate3d(-40px, -40px, 0) rotate(45deg);
      -webkit-transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  -webkit-transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  -webkit-transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1px; }
  .hamburger--slider .hamburger-inner::before {
    top: 5px;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 10px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
          transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-2.8571428571px, -3px, 0);
            transform: rotate(-45deg) translate3d(-2.8571428571px, -3px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -10px, 0) rotate(-90deg);
            transform: translate3d(0, -10px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 1px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 5px;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 10px; }

.hamburger--slider-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 5px, 0) rotate(-45deg);
          transform: translate3d(0, 5px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    -webkit-transform: rotate(45deg) translate3d(2.8571428571px, -3px, 0);
            transform: rotate(45deg) translate3d(2.8571428571px, -3px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -10px, 0) rotate(90deg);
            transform: translate3d(0, -10px, 0) rotate(90deg); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  -webkit-transition-duration: 0.22s;
          transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  -webkit-transition-duration: 0.22s;
          transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 1px;
  -webkit-transition: background-color 0s 0.13s linear;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 5px;
    -webkit-transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 10px;
    -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  background-color: transparent !important; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0) rotate(45deg);
            transform: translate3d(0, 5px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0) rotate(-45deg);
            transform: translate3d(0, 5px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -10px;
    -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    -webkit-transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -5px, 0) rotate(-45deg);
          transform: translate3d(0, -5px, 0) rotate(-45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::before {
    -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::before {
    -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  -webkit-transition-duration: 0.075s;
          transition-duration: 0.075s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    -webkit-transition: top 0.075s 0.12s ease, opacity 0.075s ease;
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    -webkit-transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    -webkit-transition-duration: 0s;
            transition-duration: 0s;
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform; }

.hamburger--vortex.is-active .hamburger-inner {
  -webkit-transform: rotate(765deg);
          transform: rotate(765deg);
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    -webkit-transition-delay: 0s;
            transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    -webkit-transition-duration: 0s;
            transition-duration: 0s;
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-765deg);
          transform: rotate(-765deg);
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    -webkit-transition-delay: 0s;
            transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
GENERAL STYLES
*********************/
body {
  font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 62.5%;
  line-height: 1.5;
  color: #5c6b80;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #0f5de5; }

.uk-sticky-placeholder {
  background-color: #0f5de5; }

.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0 36px;
  max-width: 1440px; }
  @media (min-width: 768px) {
    .wrap {
      padding: 0 45px; } }
  @media (min-width: 1024px) {
    .wrap {
      padding: 0 90px; }
      .wrap.no-padding {
        padding: 0; } }
  .wrap.wrap-small {
    max-width: 1040px; }
  .wrap.wrap-medium {
    max-width: 1240px; }

/*********************
LINK STYLES
*********************/
button:hover,
button:focus {
  outline: none; }

a,
a:visited {
  color: #f01d4f;
  /* on hover */
  /* on click */
  /* mobile tap color */ }
  a:hover, a:focus, a:visited:hover, a:visited:focus {
    color: #d10e3c;
    outline: none;
    text-decoration: none; }
  a:link, a:visited:link {
    /*
		this highlights links on iPhones/iPads.
		so it basically works like the :hover selector
		for mobile devices.
		*/
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: 500;
  /*
	if you're going to use webfonts, be sure to check your weights
	http://css-tricks.com/watch-your-font-weight/
	*/
  /* removing text decoration from all headline links */ }
  h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
    text-decoration: none; }

h1, .h1 {
  font-size: 2.5em;
  line-height: 1.2em; }

h2, .h2 {
  font-size: 1.75em;
  line-height: 1.2em;
  margin-bottom: 0.375em; }

h3, .h3 {
  font-size: 1.125em; }

h4, .h4 {
  font-size: 1.1em;
  font-weight: 700; }

h5, .h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px; }

/*********************
HEADER STYLES
*********************/
.uk-modal-close-default {
  display: block;
  width: 70px;
  height: 70px;
  background-image: url(../images/sprite.svg);
  background-repeat: no-repeat;
  background-position: -13px -185px;
  top: 10px;
  right: 10px;
  -webkit-transform: scale(0.5, 0.5);
          transform: scale(0.5, 0.5); }
  .uk-modal-close-default svg {
    display: none; }
  @media (min-width: 768px) {
    .uk-modal-close-default {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
      top: 30px;
      right: 30px; } }
  .uk-modal-close-default.uk-modal-close-white {
    background-position: -112px -185px; }

#logo {
  margin: 0.75em 0; }

.single-title,
.page-title,
.entry-title {
  margin: 0; }

/* post meta */
.byline {
  color: #9fa6b4;
  font-style: italic;
  margin: 0; }

.page-section.projects-overview-holder {
  padding: 60px 0; }
  @media (min-width: 768px) {
    .page-section.projects-overview-holder {
      padding: 90px 0; } }
  .page-section.projects-overview-holder .projects-overview {
    margin-top: 60px; }
    @media (min-width: 768px) {
      .page-section.projects-overview-holder .projects-overview {
        margin-top: 90px; } }
    .page-section.projects-overview-holder .projects-overview img {
      margin: 0 0 15px 0;
      height: 60px;
      width: auto; }
      @media (min-width: 480px) {
        .page-section.projects-overview-holder .projects-overview img {
          height: 90px; } }
      @media (min-width: 768px) {
        .page-section.projects-overview-holder .projects-overview img {
          height: 150px;
          width: auto;
          margin: 0 15px; } }

.wp-caption {
  max-width: 100%;
  margin: 45px 0;
  /* images inside wp-caption */ }
  .wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%; }
  .wp-caption p.wp-caption-text {
    font-size: 1.2em;
    margin: 0 0 30px 0;
    text-align: center; }

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
  margin: 0; }

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination,
.wp-prev-next {
  margin: 120px 0 30px 0; }

.pagination {
  text-align: center; }
  .pagination ul {
    display: inline-block;
    white-space: nowrap;
    padding: 0;
    clear: both; }
  .pagination li {
    padding: 0;
    margin: 0 10px;
    float: left;
    display: inline;
    overflow: hidden; }
  .pagination a, .pagination span {
    margin: 0;
    text-decoration: none;
    padding: 0;
    line-height: 1em;
    font-size: 1.4em;
    font-weight: normal;
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: white;
    border: 1px solid white;
    font-weight: 500; }
    .pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
      background-color: #fff;
      color: #fc3b3d; }
  .pagination .current {
    cursor: default;
    color: #fc3b3d;
    background-color: #fff; }
    .pagination .current:hover, .pagination .current:focus {
      color: #fc3b3d;
      background-color: #fff; }

.newsletter-form-holder form {
  margin-top: 30px; }

.page-section .contact-form-holder form {
  margin-top: 60px; }

.newsletter-form-holder,
.page-section .contact-form-holder {
  padding: 36px 30px; }
  @media (min-width: 768px) {
    .newsletter-form-holder,
    .page-section .contact-form-holder {
      padding: 60px; } }
  @media (min-width: 1024px) {
    .newsletter-form-holder,
    .page-section .contact-form-holder {
      padding: 90px; } }
  .newsletter-form-holder .entry-content,
  .page-section .contact-form-holder .entry-content {
    color: white; }
  .newsletter-form-holder .page-section-header,
  .page-section .contact-form-holder .page-section-header {
    margin-bottom: 30px; }
    @media (min-width: 768px) {
      .newsletter-form-holder .page-section-header,
      .page-section .contact-form-holder .page-section-header {
        margin-bottom: 45px; } }
  .newsletter-form-holder .page-section-header h1,
  .page-section .contact-form-holder .page-section-header h1 {
    text-align: left; }
    @media (min-width: 768px) {
      .newsletter-form-holder .page-section-header h1,
      .page-section .contact-form-holder .page-section-header h1 {
        text-align: center; } }

.newsletter-form-holder {
  margin-top: 90px; }

.posts-overview .category-title {
  text-align: center; }

@media (min-width: 480px) {
  .entry-content {
    /* at this larger size, we can start to align images */ }
    .entry-content .alignleft, .entry-content img.alignleft {
      margin-right: 1.5em;
      display: inline;
      float: left; }
    .entry-content .alignright, .entry-content img.alignright {
      margin-left: 1.5em;
      display: inline;
      float: right; }
    .entry-content .aligncenter, .entry-content img.aligncenter {
      margin-right: auto;
      margin-left: auto;
      display: block;
      clear: both; }
  /* end .entry-content */ }

#mc_embed_signup input::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #5c6b80;
  opacity: 1;
  /* Firefox */ }

#mc_embed_signup input::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #5c6b80;
  opacity: 1;
  /* Firefox */ }

#mc_embed_signup input::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #5c6b80;
  opacity: 1;
  /* Firefox */ }

#mc_embed_signup input::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #5c6b80;
  opacity: 1;
  /* Firefox */ }

#mc_embed_signup input:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #5c6b80; }

#mc_embed_signup input::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #5c6b80; }

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .footer-nav a,
  .footer-nav a:active {
    color: white;
    font-size: 1.6em;
    color: #fff;
    margin: 0 15px;
    display: inline-block; }
    .footer-nav a:hover,
    .footer-nav a:active:hover {
      text-decoration: underline;
      color: white; }

.footer-top {
  padding: 60px 0; }
  @media (min-width: 1024px) {
    .footer-top {
      padding: 90px 0; }
      .footer-top .wrap {
        padding: 0 36px; } }
  @media (min-width: 1200px) {
    .footer-top {
      padding: 90px 30px; } }
  .footer-top h3 {
    text-transform: uppercase;
    color: white;
    font-size: 1.8em;
    margin: 0 0 10px 0;
    padding: 0;
    font-family: montserrat, sans-serif;
    font-weight: 300;
    font-style: normal; }
  .footer-top ul.footer-links {
    padding-top: 5px; }
    .footer-top ul.footer-links a {
      font-family: montserrat, sans-serif;
      font-weight: 600;
      font-style: normal;
      font-size: 1.6em;
      color: white;
      font-size: 1.5em; }
      @media (min-width: 768px) {
        .footer-top ul.footer-links a {
          font-size: 2em; } }
      .footer-top ul.footer-links a:hover {
        text-decoration: underline; }
    .footer-top ul.footer-links li {
      margin-bottom: 10px; }
  .footer-top #mc_embed_signup {
    margin-top: 15px; }
    .footer-top #mc_embed_signup input {
      margin-bottom: 10px; }
  .footer-top .our-projects {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .footer-top .our-projects li a {
      display: block;
      width: 105px;
      height: 66px;
      margin: 0 18px 10px 0;
      text-indent: -9999px;
      background-image: url(../images/sprite.svg);
      background-repeat: no-repeat; }
      .footer-top .our-projects li a.open-hearts-space {
        background-position: -18px -292px; }
      .footer-top .our-projects li a.open-music-school {
        background-position: -142px -292px; }
      .footer-top .our-projects li a.open-language {
        background-position: -248px -292px; }
      .footer-top .our-projects li a.community {
        background-position: -18px -376px; }
      .footer-top .our-projects li a.open-kitchen {
        background-position: -136px -373px; }
      .footer-top .our-projects li a.open-music-lab {
        background-position: -248px -373px; }

.footer-bottom {
  padding: 30px 0; }
  @media (min-width: 768px) {
    .footer-bottom {
      padding: 15px 0; } }
  .footer-bottom p.address {
    text-align: center;
    font-size: 1.6em;
    color: #fff;
    padding: 10px 0 0 0; }
    .footer-bottom p.address a,
    .footer-bottom p.address a:visited {
      color: white; }
      .footer-bottom p.address a:hover,
      .footer-bottom p.address a:visited:hover {
        color: white;
        text-decoration: underline; }

#inner-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  #inner-header .hamburger {
    position: relative;
    z-index: 2002; }

.page-template-page-home .hero-item h1 {
  display: none; }

.page-template-page-home .iframe-holder {
  padding: 30px; }
  @media (min-width: 768px) {
    .page-template-page-home .iframe-holder {
      padding: 45px; } }
  .page-template-page-home .iframe-holder .video-holder {
    margin-top: 45px; }
    .page-template-page-home .iframe-holder .video-holder:first-child {
      margin-top: 0; }

.page-section.page-section-intro {
  padding: 60px 0; }
  @media (min-width: 768px) {
    .page-section.page-section-intro {
      padding: 90px 0; } }
  @media (min-width: 1024px) {
    .page-section.page-section-intro {
      padding: 120px 0; } }
  .page-section.page-section-intro .entry-content p,
  .page-section.page-section-intro .entry-content li {
    font-weight: 400; }
  .page-section.page-section-intro .logo {
    padding-right: 30px;
    padding-left: 30px; }
    .page-section.page-section-intro .logo img {
      width: 100%;
      max-width: 240px; }
      @media (min-width: 1024px) {
        .page-section.page-section-intro .logo img {
          max-width: 360px; } }

.page-section.page-section-donation {
  padding: 60px 0; }
  @media (min-width: 768px) {
    .page-section.page-section-donation {
      padding: 90px 0; } }
  @media (min-width: 1024px) {
    .page-section.page-section-donation {
      padding: 120px 0; } }
  @media (min-width: 1200px) {
    .page-section.page-section-donation {
      padding: 150px 0; } }
  .page-section.page-section-donation .page-section-header {
    padding: 0; }
    @media (min-width: 768px) {
      .page-section.page-section-donation .page-section-header {
        padding: 0 90px; } }
    .page-section.page-section-donation .page-section-header h1 {
      text-align: left; }
    .page-section.page-section-donation .page-section-header .subber p {
      text-align: left; }
  .page-section.page-section-donation .button-holder {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    @media (min-width: 768px) {
      .page-section.page-section-donation .button-holder {
        padding: 0 60px; } }
    @media (min-width: 1024px) {
      .page-section.page-section-donation .button-holder {
        padding: 0 180px; } }

.highlight-holder .picture_holder {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 15px;
  background-color: #0f5de5;
  overflow: hidden;
  position: relative; }
  .highlight-holder .picture_holder .picture {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center; }
  .highlight-holder .picture_holder .meta {
    background-color: white;
    color: #fc3b3d;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 30px 30px 90px 30px;
    opacity: 0;
    -webkit-transition: all .14s ease;
    transition: all .14s ease;
    display: none; }
    @media (min-width: 768px) {
      .highlight-holder .picture_holder .meta {
        display: block; } }
    .highlight-holder .picture_holder .meta h3 {
      color: #fc3b3d;
      font-family: montserrat, sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 2em;
      margin-bottom: 10px;
      text-align: left;
      margin-top: 0; }
    .highlight-holder .picture_holder .meta p {
      font-size: 1.4em; }
    .highlight-holder .picture_holder .meta .read-more {
      position: absolute;
      bottom: 20px;
      right: 20px; }
  .highlight-holder .picture_holder:hover .meta {
    opacity: 1; }

.highlight-holder h3 {
  color: white;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2em;
  margin: 0;
  text-align: left; }

.opportunities .opportunity {
  padding: 36px;
  color: white;
  -webkit-transition: all .14s ease;
  transition: all .14s ease;
  position: relative; }
  @media (min-width: 1024px) {
    .opportunities .opportunity {
      padding: 36px 48px; } }
  .opportunities .opportunity h1 {
    font-family: montserrat, sans-serif;
    font-weight: 400;
    font-style: normal;
    color: white;
    margin-bottom: 10px; }
  .opportunities .opportunity p {
    font-size: 1.6em; }
  .opportunities .opportunity a:hover {
    cursor: pointer;
    text-decoration: none; }
    .opportunities .opportunity a:hover .opportunity {
      background-color: #0f5de5; }
    .opportunities .opportunity a:hover .read-more {
      background-color: #fff;
      border-left: 3px solid #fff;
      border-top: 3px solid #fff;
      color: #0f5de5; }
      .opportunities .opportunity a:hover .read-more:hover {
        border-left: 3px solid #fff;
        border-top: 3px solid #fff; }
  .opportunities .opportunity .read-more {
    margin-top: 30px; }

.opportunities .button-holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 90px; }

.newsletter-holder {
  padding: 30px;
  margin-bottom: 45px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (min-width: 768px) {
    .newsletter-holder {
      padding: 30px 45px; } }
  .newsletter-holder input[type="submit"] {
    margin-top: 30px;
    float: right; }
    .newsletter-holder input[type="submit"]:hover {
      background-color: white;
      color: #fc3b3d; }
  .newsletter-holder .response {
    color: #fff;
    margin: 12px 0;
    font-weight: 500;
    font-size: 14px; }
    .newsletter-holder .response a,
    .newsletter-holder .response a:hover,
    .newsletter-holder .response a:visited {
      color: #fff;
      text-decoration: underline; }
  .newsletter-holder .entry-content {
    width: 100%; }
    .newsletter-holder .entry-content .mc-field-group {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }

.modal-type-give .uk-modal-dialog.opportunity-modal {
  background-color: #0f5de5; }

.modal-type-receive .uk-modal-dialog.opportunity-modal {
  background-color: #1ab347; }

.page-section-awards {
  margin-bottom: 60px; }
  .page-section-awards li {
    padding: 0 15px;
    text-align: center; }
  .page-section-awards .award {
    margin: 0 auto;
    max-width: 360px;
    width: 100%;
    padding: 0 75px;
    position: relative; }
    .page-section-awards .award:before, .page-section-awards .award:after {
      content: "";
      width: 45px;
      height: 90px;
      position: absolute;
      top: 2px;
      background-image: url(../images/sprite.svg);
      background-repeat: no-repeat; }
    .page-section-awards .award:before {
      left: 15px;
      background-position: -23px -560px; }
    .page-section-awards .award:after {
      right: 15px;
      background-position: -226px -560px; }
    .page-section-awards .award h1 {
      text-align: center;
      color: white;
      margin: 0;
      padding: 0;
      font-family: montserrat, sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 1.6em; }
    .page-section-awards .award h2 {
      text-align: center;
      color: white;
      margin: 3px 0;
      padding: 0;
      font-family: montserrat, sans-serif;
      font-weight: 700;
      font-style: normal;
      font-size: 2.4em; }
    .page-section-awards .award p.year {
      text-align: center;
      color: white;
      margin: 0;
      padding: 0;
      font-family: montserrat, sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 1.6em; }

.uk-modal-dialog.opportunity-modal {
  background-color: #e881aa;
  padding: 45px;
  width: 900px; }
  @media (min-width: 768px) {
    .uk-modal-dialog.opportunity-modal {
      padding: 90px; } }
  @media (min-width: 1024px) {
    .uk-modal-dialog.opportunity-modal {
      padding: 120px; } }
  .uk-modal-dialog.opportunity-modal .page-section-header p.subber {
    font-family: montserrat, sans-serif;
    font-weight: 500;
    font-style: normal;
    color: white;
    font-size: 2em;
    margin: 0 0 24px 0; }
  .uk-modal-dialog.opportunity-modal h1 {
    color: white;
    font-size: 2.7em;
    margin: 0 0 24px 0;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic; }
    @media (min-width: 768px) {
      .uk-modal-dialog.opportunity-modal h1 {
        font-size: 3.6em; } }
    @media (min-width: 1024px) {
      .uk-modal-dialog.opportunity-modal h1 {
        font-size: 4.8em; } }
  .uk-modal-dialog.opportunity-modal p {
    font-family: montserrat, sans-serif;
    font-weight: 400;
    font-style: normal;
    color: white;
    font-size: 1.6em;
    margin-bottom: 1em; }
    .uk-modal-dialog.opportunity-modal p:last-child {
      margin-bottom: 0; }
  .uk-modal-dialog.opportunity-modal p,
  .uk-modal-dialog.opportunity-modal h1 {
    color: white; }

.single-post #main article.category-our-community .hero-panel .hero-item {
  background-color: #e881aa; }

.single-post #main article.category-our-community a, .single-post #main article.category-our-community a:visited {
  color: #e881aa; }

.single-post .posts-overview .page-section.cat-our-community {
  background-color: #e881aa; }

.archive.category-our-community #main,
.archive.category-our-community .hero-panel .hero-item {
  background-color: #e881aa; }

.page-template-page-magazine .page-section.our-community {
  background-color: #e881aa; }

.page-template-page-podcasts .page-section.our-community {
  background-color: #e881aa; }

.single-post #main article.category-what-we-do .hero-panel .hero-item {
  background-color: #0f5de5; }

.single-post #main article.category-what-we-do a, .single-post #main article.category-what-we-do a:visited {
  color: #0f5de5; }

.single-post .posts-overview .page-section.cat-what-we-do {
  background-color: #0f5de5; }

.archive.category-what-we-do #main,
.archive.category-what-we-do .hero-panel .hero-item {
  background-color: #0f5de5; }

.page-template-page-magazine .page-section.what-we-do {
  background-color: #0f5de5; }

.page-template-page-podcasts .page-section.what-we-do {
  background-color: #0f5de5; }

.single-post #main article.category-society .hero-panel .hero-item {
  background-color: #1ab347; }

.single-post #main article.category-society a, .single-post #main article.category-society a:visited {
  color: #1ab347; }

.single-post .posts-overview .page-section.cat-society {
  background-color: #1ab347; }

.archive.category-society #main,
.archive.category-society .hero-panel .hero-item {
  background-color: #1ab347; }

.page-template-page-magazine .page-section.society {
  background-color: #1ab347; }

.page-template-page-podcasts .page-section.society {
  background-color: #1ab347; }

.single-post #main article.category-mental-health-with-eed-be-eed .hero-panel .hero-item {
  background-color: #fda629; }

.single-post #main article.category-mental-health-with-eed-be-eed a, .single-post #main article.category-mental-health-with-eed-be-eed a:visited {
  color: #fda629; }

.single-post .posts-overview .page-section.cat-mental-health-with-eed-be-eed {
  background-color: #fda629; }

.archive.category-mental-health-with-eed-be-eed #main,
.archive.category-mental-health-with-eed-be-eed .hero-panel .hero-item {
  background-color: #fda629; }

.page-template-page-magazine .page-section.mental-health-with-eed-be-eed {
  background-color: #fda629; }

.page-template-page-podcasts .page-section.mental-health-with-eed-be-eed {
  background-color: #fda629; }

.single-post #main article.category-migration-matters .hero-panel .hero-item {
  background-color: #b480e5; }

.single-post #main article.category-migration-matters a, .single-post #main article.category-migration-matters a:visited {
  color: #b480e5; }

.single-post .posts-overview .page-section.cat-migration-matters {
  background-color: #b480e5; }

.archive.category-migration-matters #main,
.archive.category-migration-matters .hero-panel .hero-item {
  background-color: #b480e5; }

.page-template-page-magazine .page-section.migration-matters {
  background-color: #b480e5; }

.page-template-page-podcasts .page-section.migration-matters {
  background-color: #b480e5; }

.single-post #main article.category-opinion .hero-panel .hero-item {
  background-color: #fc3b3d; }

.single-post #main article.category-opinion a, .single-post #main article.category-opinion a:visited {
  color: #fc3b3d; }

.single-post .posts-overview .page-section.cat-opinion {
  background-color: #fc3b3d; }

.archive.category-opinion #main,
.archive.category-opinion .hero-panel .hero-item {
  background-color: #fc3b3d; }

.page-template-page-magazine .page-section.opinion {
  background-color: #fc3b3d; }

.page-template-page-podcasts .page-section.opinion {
  background-color: #fc3b3d; }

.single-post #main article.category-global-kitchen .hero-panel .hero-item {
  background-color: #0f5de5; }

.single-post #main article.category-global-kitchen a, .single-post #main article.category-global-kitchen a:visited {
  color: #0f5de5; }

.single-post .posts-overview .page-section.cat-global-kitchen {
  background-color: #0f5de5; }

.archive.category-global-kitchen #main,
.archive.category-global-kitchen .hero-panel .hero-item {
  background-color: #0f5de5; }

.page-template-page-magazine .page-section.global-kitchen {
  background-color: #0f5de5; }

.page-template-page-podcasts .page-section.global-kitchen {
  background-color: #0f5de5; }

.single-post #main article.category-community-news .hero-panel .hero-item {
  background-color: #e881aa; }

.single-post #main article.category-community-news a, .single-post #main article.category-community-news a:visited {
  color: #e881aa; }

.single-post .posts-overview .page-section.cat-community-news {
  background-color: #e881aa; }

.archive.category-community-news #main,
.archive.category-community-news .hero-panel .hero-item {
  background-color: #e881aa; }

.page-template-page-magazine .page-section.community-news {
  background-color: #e881aa; }

.page-template-page-podcasts .page-section.community-news {
  background-color: #e881aa; }

.single-post #main article.category-our-community .hero-panel .hero-item {
  background-color: #e881aa; }

.single-post #main article.category-our-community a, .single-post #main article.category-our-community a:visited {
  color: #e881aa; }

.single-post .posts-overview .page-section.cat-our-community {
  background-color: #e881aa; }

.archive.category-our-community #main,
.archive.category-our-community .hero-panel .hero-item {
  background-color: #e881aa; }

.page-template-page-magazine .page-section.our-community {
  background-color: #e881aa; }

.page-template-page-podcasts .page-section.our-community {
  background-color: #e881aa; }

.single-post #main article.category-our-projects .hero-panel .hero-item {
  background-color: #0f5de5; }

.single-post #main article.category-our-projects a, .single-post #main article.category-our-projects a:visited {
  color: #0f5de5; }

.single-post .posts-overview .page-section.cat-our-projects {
  background-color: #0f5de5; }

.archive.category-our-projects #main,
.archive.category-our-projects .hero-panel .hero-item {
  background-color: #0f5de5; }

.page-template-page-magazine .page-section.our-projects {
  background-color: #0f5de5; }

.page-template-page-podcasts .page-section.our-projects {
  background-color: #0f5de5; }

.single-post #main article.category-opinion .hero-panel .hero-item {
  background-color: #1ab347; }

.single-post #main article.category-opinion a, .single-post #main article.category-opinion a:visited {
  color: #1ab347; }

.single-post .posts-overview .page-section.cat-opinion {
  background-color: #1ab347; }

.archive.category-opinion #main,
.archive.category-opinion .hero-panel .hero-item {
  background-color: #1ab347; }

.page-template-page-magazine .page-section.opinion {
  background-color: #1ab347; }

.page-template-page-podcasts .page-section.opinion {
  background-color: #1ab347; }

.single-post #main article.category-from-the-team .hero-panel .hero-item {
  background-color: #fda629; }

.single-post #main article.category-from-the-team a, .single-post #main article.category-from-the-team a:visited {
  color: #fda629; }

.single-post .posts-overview .page-section.cat-from-the-team {
  background-color: #fda629; }

.archive.category-from-the-team #main,
.archive.category-from-the-team .hero-panel .hero-item {
  background-color: #fda629; }

.page-template-page-magazine .page-section.from-the-team {
  background-color: #fda629; }

.page-template-page-podcasts .page-section.from-the-team {
  background-color: #fda629; }

.single-post #main article.category-podcasts .hero-panel .hero-item {
  background-color: #1ab347; }

.single-post #main article.category-podcasts a, .single-post #main article.category-podcasts a:visited {
  color: #1ab347; }

.single-post .posts-overview .page-section.cat-podcasts {
  background-color: #1ab347; }

.archive.category-podcasts #main,
.archive.category-podcasts .hero-panel .hero-item {
  background-color: #1ab347; }

.page-template-page-magazine .page-section.podcasts {
  background-color: #1ab347; }

.page-template-page-podcasts .page-section.podcasts {
  background-color: #1ab347; }

.bg-white .entry-content p {
  color: white; }
  .bg-white .entry-content p em, .bg-white .entry-content p strong, .bg-white .entry-content p i {
    color: white; }

.single-projects #main.color-white {
  background-color: #fff; }
  .single-projects #main.color-white .hero-panel .hero-item {
    background-color: #fff; }

.bg-white {
  background-color: #fff;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-white:hover {
  background-color: #f2f2f2; }

.uk-modal.bg-white {
  background-color: #fff; }

.page-section.bg-white {
  position: relative; }

.bg-black .entry-content p {
  color: white; }
  .bg-black .entry-content p em, .bg-black .entry-content p strong, .bg-black .entry-content p i {
    color: white; }

.single-projects #main.color-black {
  background-color: #000000; }
  .single-projects #main.color-black .hero-panel .hero-item {
    background-color: #000000; }

.bg-black {
  background-color: #000000;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-black:hover {
  background-color: black; }

.uk-modal.bg-black {
  background-color: #000000; }

.page-section.bg-black {
  position: relative; }

.bg-pink .entry-content p {
  color: white; }
  .bg-pink .entry-content p em, .bg-pink .entry-content p strong, .bg-pink .entry-content p i {
    color: white; }

.single-projects #main.color-pink {
  background-color: #e881aa; }
  .single-projects #main.color-pink .hero-panel .hero-item {
    background-color: #e881aa; }

.bg-pink {
  background-color: #e881aa;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-pink:hover {
  background-color: #e46b9b; }

.uk-modal.bg-pink {
  background-color: #e881aa; }

.page-section.bg-pink {
  position: relative; }

.bg-blue .entry-content p {
  color: white; }
  .bg-blue .entry-content p em, .bg-blue .entry-content p strong, .bg-blue .entry-content p i {
    color: white; }

.single-projects #main.color-blue {
  background-color: #0f5de5; }
  .single-projects #main.color-blue .hero-panel .hero-item {
    background-color: #0f5de5; }

.bg-blue {
  background-color: #0f5de5;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-blue:hover {
  background-color: #0d53cd; }

.uk-modal.bg-blue {
  background-color: #0f5de5; }

.page-section.bg-blue {
  position: relative; }

.bg-green .entry-content p {
  color: white; }
  .bg-green .entry-content p em, .bg-green .entry-content p strong, .bg-green .entry-content p i {
    color: white; }

.single-projects #main.color-green {
  background-color: #1ab347; }
  .single-projects #main.color-green .hero-panel .hero-item {
    background-color: #1ab347; }

.bg-green {
  background-color: #1ab347;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-green:hover {
  background-color: #179d3e; }

.uk-modal.bg-green {
  background-color: #1ab347; }

.page-section.bg-green {
  position: relative; }

.bg-orange .entry-content p {
  color: white; }
  .bg-orange .entry-content p em, .bg-orange .entry-content p strong, .bg-orange .entry-content p i {
    color: white; }

.single-projects #main.color-orange {
  background-color: #fda629; }
  .single-projects #main.color-orange .hero-panel .hero-item {
    background-color: #fda629; }

.bg-orange {
  background-color: #fda629;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-orange:hover {
  background-color: #fd9b10; }

.uk-modal.bg-orange {
  background-color: #fda629; }

.page-section.bg-orange {
  position: relative; }

.bg-violet .entry-content p {
  color: white; }
  .bg-violet .entry-content p em, .bg-violet .entry-content p strong, .bg-violet .entry-content p i {
    color: white; }

.single-projects #main.color-violet {
  background-color: #b480e5; }
  .single-projects #main.color-violet .hero-panel .hero-item {
    background-color: #b480e5; }

.bg-violet {
  background-color: #b480e5;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-violet:hover {
  background-color: #a86be1; }

.uk-modal.bg-violet {
  background-color: #b480e5; }

.page-section.bg-violet {
  position: relative; }

.bg-red .entry-content p {
  color: white; }
  .bg-red .entry-content p em, .bg-red .entry-content p strong, .bg-red .entry-content p i {
    color: white; }

.single-projects #main.color-red {
  background-color: #fc3b3d; }
  .single-projects #main.color-red .hero-panel .hero-item {
    background-color: #fc3b3d; }

.bg-red {
  background-color: #fc3b3d;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }

a.bg-red:hover {
  background-color: #fc2224; }

.uk-modal.bg-red {
  background-color: #fc3b3d; }

.page-section.bg-red {
  position: relative; }

.single-projects #main.color-black .hero-panel .hero-item {
  background-color: #0f5de5; }

.footer-bottom.bg-violet {
  position: relative; }

.page-template #mc_embed_signup .row-holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .page-template #mc_embed_signup .row-holder input[type="submit"] {
    float: none;
    margin-top: 15px; }
  @media (min-width: 768px) {
    .page-template #mc_embed_signup .row-holder {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.spinner {
  -webkit-animation: rotate 2s linear infinite;
          animation: rotate 2s linear infinite;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  width: 50px;
  height: 50px; }
  .spinner .path {
    stroke: rgba(255, 255, 255, 0.66);
    stroke-linecap: round;
    -webkit-animation: dash 1.5s ease-in-out infinite;
            animation: dash 1.5s ease-in-out infinite; }

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124; } }

@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124; } }

.page-template-page-donate-2022 header.header {
  display: none; }

.page-template-page-donate-2022 .wrap {
  max-width: 1360px; }

.page-template-page-donate-2022 .page-section.page-section-intro .logo {
  padding: 0 0 0 0; }

.page-template-page-donate-2022 .page-section-intro.bg-white .entry-content ul {
  position: relative; }
  .page-template-page-donate-2022 .page-section-intro.bg-white .entry-content ul li {
    margin-bottom: 6px; }
    .page-template-page-donate-2022 .page-section-intro.bg-white .entry-content ul li:before {
      content: "";
      width: 10px;
      height: 10px;
      background-color: #000000;
      border-radius: 100%;
      display: block;
      position: absolute;
      top: 11px;
      left: 0; }

.page-template-page-donate-2022 .hero-panel .logo,
.page-template-page-donate .hero-panel .logo {
  display: none; }

.page-template-page-donate-2022 .page-section-intro.bg-white .uk-grid,
.page-template-page-donate .page-section-intro.bg-white .uk-grid {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  @media (min-width: 768px) {
    .page-template-page-donate-2022 .page-section-intro.bg-white .uk-grid,
    .page-template-page-donate .page-section-intro.bg-white .uk-grid {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.page-template-page-donate-2022 .page-section-intro.bg-white .entry-content h2,
.page-template-page-donate .page-section-intro.bg-white .entry-content h2 {
  color: #fc3b3d; }

.page-template-page-donate-2022 .page-section.bg-violet h2,
.page-template-page-donate .page-section.bg-violet h2 {
  margin-bottom: 30px; }
  @media (min-width: 768px) {
    .page-template-page-donate-2022 .page-section.bg-violet h2,
    .page-template-page-donate .page-section.bg-violet h2 {
      margin-bottom: 45px; } }

.page-template-page-donate-2022 .page-section .page-section-header h1,
.page-template-page-donate .page-section .page-section-header h1 {
  padding: 0;
  text-align: left; }

.page-template-page-donate-2022 .video-holder,
.page-template-page-donate .video-holder {
  margin-top: 0; }
  .page-template-page-donate-2022 .video-holder p:last-child,
  .page-template-page-donate .video-holder p:last-child {
    margin-top: 10px;
    margin-bottom: 20px; }
    @media (min-width: 768px) {
      .page-template-page-donate-2022 .video-holder p:last-child,
      .page-template-page-donate .video-holder p:last-child {
        margin-top: 15px;
        margin-bottom: 30px; } }
    @media (min-width: 1024px) {
      .page-template-page-donate-2022 .video-holder p:last-child,
      .page-template-page-donate .video-holder p:last-child {
        margin-bottom: 0; } }

.page-template-page-donate-2022 .iframe-holder,
.page-template-page-donate .iframe-holder {
  width: 100%;
  max-width: 1000px;
  margin: 60px 0 0 0; }
  .page-template-page-donate-2022 .iframe-holder iframe,
  .page-template-page-donate .iframe-holder iframe {
    max-width: 100% !important; }

.page-template-page-donate-2022 .account-info,
.page-template-page-donate .account-info {
  padding: 0 0 90px 0; }

.page-template-page-donate-2022 .donate_disclaimer,
.page-template-page-donate .donate_disclaimer {
  font-size: 1.8em; }

.page-template-page-donate-2022 .donate_disclaimer a,
.page-template-page-donate .donate_disclaimer a {
  color: black;
  font-weight: bold; }

.hero-panel {
  overflow: hidden; }
  @media (min-width: 768px) {
    .hero-panel {
      height: 480px; } }
  .hero-panel .uk-slideshow-items {
    height: 100%; }
  .hero-panel .hero-item {
    background-color: #0f5de5; }
    .hero-panel .hero-item .img-holder {
      -webkit-filter: grayscale(1);
              filter: grayscale(1);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      mix-blend-mode: multiply;
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .hero-panel .hero-item .wrap {
      position: relative;
      z-index: 3; }
    .hero-panel .hero-item h1 {
      text-align: left;
      color: white;
      margin: 0;
      font-family: playfair-display, serif;
      font-weight: 900;
      font-style: italic;
      z-index: 2;
      font-size: 3em;
      padding: 60px 0 0 30px; }
      @media (min-width: 768px) {
        .hero-panel .hero-item h1 {
          font-size: 6em;
          padding: 120px 0 0 45px; } }
  .hero-panel .uk-slideshow-nav {
    position: absolute;
    bottom: 30px;
    right: 30px; }
  .hero-panel .logo {
    position: absolute;
    top: 30px;
    left: 36px; }
    .hero-panel .logo img {
      width: auto;
      height: 90px; }
    @media (min-width: 480px) {
      .hero-panel .logo {
        left: 45px; }
        .hero-panel .logo img {
          width: auto;
          height: 120px; } }
    @media (min-width: 768px) {
      .hero-panel .logo {
        top: 75px; }
        .hero-panel .logo img {
          width: auto;
          height: 150px; } }
    @media (min-width: 1024px) {
      .hero-panel .logo {
        top: 50%;
        left: 90px;
        margin-top: -95px; }
        .hero-panel .logo img {
          width: auto;
          height: 190px; } }

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.hamburger-box {
  margin-top: 1px; }

.main-nav-top {
  background-color: #000000;
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .main-nav-top .nav li a {
    font-size: 1.2em; }
  .main-nav-top .hamburger {
    padding: 10px; }
  @media (min-width: 768px) {
    .main-nav-top {
      display: block; } }
  .main-nav-top nav.social-media {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media (min-width: 768px) {
      .main-nav-top nav.social-media {
        right: 9px; } }
    .main-nav-top nav.social-media .nav-social {
      height: 100%; }

nav.social-media .nav-social li a {
  display: inline-block;
  width: 36px;
  height: 100%;
  text-indent: -9999px;
  background-image: url(../images/sprite.svg);
  background-repeat: no-repeat;
  margin: 0;
  padding: 0; }

nav.social-media .nav-social li.social-youtube a {
  background-position: -12px -103px; }

nav.social-media .nav-social li.social-twitter a {
  background-position: -76px -103px; }

nav.social-media .nav-social li.social-instagram a {
  background-position: -109px -103px; }

nav.social-media .nav-social li.social-facebook a {
  background-position: -46px -103px; }

nav.social-media .nav-social li.social-linkedin a {
  background-position: -142px -103px; }

.main-nav-bottom {
  background-color: #0f5de5; }
  .main-nav-bottom .nav li a {
    font-size: 1.5em;
    margin: 0 12px; }

header.header .wrap {
  position: relative; }

#home-link {
  position: relative;
  top: 0;
  left: 0;
  font-size: 1.2em;
  display: block;
  text-decoration: none;
  padding: 0.75em;
  margin: 0;
  color: white;
  -webkit-transition: all .14s ease;
  transition: all .14s ease;
  text-transform: uppercase;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #b480e5; }
  @media (min-width: 768px) {
    #home-link {
      position: absolute;
      top: 0;
      left: 0; } }

body.home #home-link {
  background-color: #e881aa; }

.main-nav-top .nav,
.main-nav-bottom .nav {
  border-bottom: 0;
  margin: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /* end .menu li */ }
  .main-nav-top .nav li,
  .main-nav-bottom .nav li {
    display: inline-block;
    /*
        so you really have to rethink your dropdowns for mobile.
        you don't want to have it expand too much because the
        screen is so small. How you manage your menu should
        depend on the project. Here's some great info on it:
        http://www.alistapart.com/articles/organizing-mobile/
        */ }
    .main-nav-top .nav li a,
    .main-nav-top .nav li a:visited,
    .main-nav-bottom .nav li a,
    .main-nav-bottom .nav li a:visited {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      text-decoration: none;
      padding: 0.75em;
      margin: 0 6px;
      color: white;
      -webkit-transition: all .14s ease;
      transition: all .14s ease;
      font-size: 1.4em;
      text-transform: uppercase;
      height: 100%; }
    .main-nav-top .nav li:hover a,
    .main-nav-top .nav li:focus a,
    .main-nav-bottom .nav li:hover a,
    .main-nav-bottom .nav li:focus a {
      background-color: #e881aa;
      color: white; }
    .main-nav-top .nav li.highlight a,
    .main-nav-top .nav li.highlight a:visited,
    .main-nav-bottom .nav li.highlight a,
    .main-nav-bottom .nav li.highlight a:visited {
      background-color: #fc3b3d;
      color: white;
      font-weight: 700;
      font-size: 1.6em; }
    .main-nav-top .nav li ul.sub-menu li a,
    .main-nav-top .nav li ul.children li a,
    .main-nav-bottom .nav li ul.sub-menu li a,
    .main-nav-bottom .nav li ul.children li a {
      padding-left: 30px; }
  @media (min-width: 1024px) {
    .main-nav-top .nav,
    .main-nav-bottom .nav {
      text-align: left;
      border: 0;
      /* end .menu ul li */ }
      .main-nav-top .nav ul,
      .main-nav-bottom .nav ul {
        background: #000000;
        margin-top: 0; }
      .main-nav-top .nav li,
      .main-nav-bottom .nav li {
        position: relative;
        /*
          plan your menus and drop-downs wisely.
          */
        /* showing sub-menus */ }
        .main-nav-top .nav li a,
        .main-nav-bottom .nav li a {
          border-bottom: 0;
          /*
                you can use hover styles here even though this size
                has the possibility of being a mobile device.
                */ }
          .main-nav-top .nav li a:hover, .main-nav-top .nav li a:focus,
          .main-nav-bottom .nav li a:hover,
          .main-nav-bottom .nav li a:focus {
            text-decoration: none; }
        .main-nav-top .nav li ul.sub-menu,
        .main-nav-top .nav li ul.children,
        .main-nav-bottom .nav li ul.sub-menu,
        .main-nav-bottom .nav li ul.children {
          margin-top: 0;
          border-top: 0;
          position: absolute;
          visibility: hidden;
          z-index: 8999;
          padding: 0;
          background-color: transparent;
          padding-left: 12px; }
          .main-nav-top .nav li ul.sub-menu li,
          .main-nav-top .nav li ul.children li,
          .main-nav-bottom .nav li ul.sub-menu li,
          .main-nav-bottom .nav li ul.children li {
            padding: 0;
            /*
              if you need to go deeper, go nuts
              just remember deeper menus suck
              for usability. k, bai.
              */ }
            .main-nav-top .nav li ul.sub-menu li a,
            .main-nav-top .nav li ul.sub-menu li a:active,
            .main-nav-top .nav li ul.children li a,
            .main-nav-top .nav li ul.children li a:active,
            .main-nav-bottom .nav li ul.sub-menu li a,
            .main-nav-bottom .nav li ul.sub-menu li a:active,
            .main-nav-bottom .nav li ul.children li a,
            .main-nav-bottom .nav li ul.children li a:active {
              background-color: #e881aa;
              padding-left: 10px;
              border-right: 0;
              display: block;
              width: 220px;
              margin: 0; }
            .main-nav-top .nav li ul.sub-menu li.current-menu-item a,
            .main-nav-top .nav li ul.sub-menu li.current-menu-item a:active, .main-nav-top .nav li ul.sub-menu li.current_page_item a,
            .main-nav-top .nav li ul.sub-menu li.current_page_item a:active,
            .main-nav-top .nav li ul.children li.current-menu-item a,
            .main-nav-top .nav li ul.children li.current-menu-item a:active,
            .main-nav-top .nav li ul.children li.current_page_item a,
            .main-nav-top .nav li ul.children li.current_page_item a:active,
            .main-nav-bottom .nav li ul.sub-menu li.current-menu-item a,
            .main-nav-bottom .nav li ul.sub-menu li.current-menu-item a:active,
            .main-nav-bottom .nav li ul.sub-menu li.current_page_item a,
            .main-nav-bottom .nav li ul.sub-menu li.current_page_item a:active,
            .main-nav-bottom .nav li ul.children li.current-menu-item a,
            .main-nav-bottom .nav li ul.children li.current-menu-item a:active,
            .main-nav-bottom .nav li ul.children li.current_page_item a,
            .main-nav-bottom .nav li ul.children li.current_page_item a:active {
              background-color: #fc3b3d; }
            .main-nav-top .nav li ul.sub-menu li:hover a,
            .main-nav-top .nav li ul.sub-menu li:focus a,
            .main-nav-top .nav li ul.children li:hover a,
            .main-nav-top .nav li ul.children li:focus a,
            .main-nav-bottom .nav li ul.sub-menu li:hover a,
            .main-nav-bottom .nav li ul.sub-menu li:focus a,
            .main-nav-bottom .nav li ul.children li:hover a,
            .main-nav-bottom .nav li ul.children li:focus a {
              background-color: #fc3b3d;
              color: white; }
            .main-nav-top .nav li ul.sub-menu li:last-child a,
            .main-nav-top .nav li ul.children li:last-child a,
            .main-nav-bottom .nav li ul.sub-menu li:last-child a,
            .main-nav-bottom .nav li ul.children li:last-child a {
              border-bottom: 0; }
            .main-nav-top .nav li ul.sub-menu li ul,
            .main-nav-top .nav li ul.children li ul,
            .main-nav-bottom .nav li ul.sub-menu li ul,
            .main-nav-bottom .nav li ul.children li ul {
              top: 0;
              left: 100%; }
        .main-nav-top .nav li:hover > ul,
        .main-nav-bottom .nav li:hover > ul {
          top: auto;
          visibility: visible; } }

/* end .nav */
@media (min-width: 768px) {
  .main-nav-bottom .nav li ul.sub-menu,
  .main-nav-bottom .nav li ul.children {
    padding-left: 6px; } }

body.single-post .main-nav-top .nav li#menu-item-13945 a,
.main-nav-top .nav li.current-menu-ancestor a,
.main-nav-top .nav li.current-menu-parent a,
.main-nav-top .nav li.current-menu-item a,
.main-nav-top .nav li.current_page_item a,
.main-nav-top .nav li.current_page_ancestor a,
body.single-post .main-nav-bottom .nav li#menu-item-13945 a,
.main-nav-bottom .nav li.current-menu-ancestor a,
.main-nav-bottom .nav li.current-menu-parent a,
.main-nav-bottom .nav li.current-menu-item a,
.main-nav-bottom .nav li.current_page_item a,
.main-nav-bottom .nav li.current_page_ancestor a {
  background-color: #e881aa; }

.nav li.current-menu-ancestor .current-menu-item a {
  background-color: #fc3b3d; }

#mobile-menu-modal {
  background-color: #0f5de5; }
  @media (min-width: 768px) {
    #mobile-menu-modal .menu-holder {
      width: 80%; } }
  #mobile-menu-modal .uk-modal-dialog {
    background-color: #0f5de5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0 30px;
    min-height: 100%; }
    @media (min-width: 768px) {
      #mobile-menu-modal .uk-modal-dialog {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
    #mobile-menu-modal .uk-modal-dialog .logo img {
      max-width: 300px; }
    #mobile-menu-modal .uk-modal-dialog .menu-holder {
      margin-top: 90px;
      margin-bottom: 90px; }
      @media (min-width: 768px) {
        #mobile-menu-modal .uk-modal-dialog .menu-holder {
          margin-top: 120px;
          margin-bottom: 150px; } }
    #mobile-menu-modal .uk-modal-dialog .sub-menu {
      max-height: 0;
      overflow: hidden;
      -webkit-transition: all .2s ease;
      transition: all .2s ease; }
    #mobile-menu-modal .uk-modal-dialog .sub-menu-open .sub-menu {
      max-height: 2000px;
      padding: 15px 0 30px 0; }
    #mobile-menu-modal .uk-modal-dialog .nav {
      text-align: left; }
      #mobile-menu-modal .uk-modal-dialog .nav li a {
        text-align: left;
        font-family: montserrat, sans-serif;
        font-weight: 700;
        font-style: normal;
        font-size: 2.4em;
        margin: 60px 0 30px 0;
        padding: 0;
        color: white; }
        @media (min-width: 768px) {
          #mobile-menu-modal .uk-modal-dialog .nav li a {
            font-size: 3.6em; } }
      #mobile-menu-modal .uk-modal-dialog .nav li li a {
        font-family: montserrat, sans-serif;
        font-weight: 600;
        font-style: normal;
        font-size: 1.6em;
        color: white; }
        @media (min-width: 768px) {
          #mobile-menu-modal .uk-modal-dialog .nav li li a {
            font-size: 2em; } }
    #mobile-menu-modal .uk-modal-dialog nav.social-media .nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: absolute;
      bottom: 10px;
      left: 0;
      width: 100%;
      padding-left: 24px;
      padding-right: 24px; }
      #mobile-menu-modal .uk-modal-dialog nav.social-media .nav a {
        margin: 0;
        width: 36px;
        height: 36px; }
      @media (min-width: 768px) {
        #mobile-menu-modal .uk-modal-dialog nav.social-media .nav {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }

/*********************
LANGUAGE SWITCHER
*********************/
#inner-header nav.languages ul li {
  display: inline-block; }
  #inner-header nav.languages ul li span,
  #inner-header nav.languages ul li a {
    font-weight: 300;
    font-size: 1.2em;
    color: #393939;
    padding: 0;
    margin: 0px 8px;
    border: none;
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #393939;
    border-radius: 100%;
    -webkit-transition: all .14s ease;
    transition: all .14s ease; }
  #inner-header nav.languages ul li.active span {
    background-color: #f01d4f;
    color: #fff;
    border-color: #f01d4f; }
  #inner-header nav.languages ul li a:hover {
    color: #f01d4f;
    border-color: #f01d4f; }
  #inner-header nav.languages ul li:last-child span,
  #inner-header nav.languages ul li:last-child a {
    margin-right: 0; }

.category-description p {
  color: white;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2em;
  margin-bottom: 10px;
  text-align: left;
  margin-top: 0; }

.page-template-page-partners .hero-item h1,
.page-template-page-downloads .hero-item h1,
.page-template-page-media .hero-item h1,
.page-template-page-team .hero-item h1,
.page-template-default .hero-item h1,
.error404 .hero-item h1,
.archive .hero-item h1,
.single-projects .hero-item h1,
.single-post .hero-item h1,
.page-template-page-donate .hero-item h1,
.page-template-page-magazine .hero-item h1,
.page-template-page-contact .hero-item h1 {
  display: none; }

.page-template-page-partners .hero-panel,
.page-template-page-downloads .hero-panel,
.page-template-page-media .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.error404 .hero-panel,
.archive .hero-panel,
.single-projects .hero-panel,
.single-post .hero-panel,
.page-template-page-donate .hero-panel,
.page-template-page-magazine .hero-panel,
.page-template-page-contact .hero-panel {
  background-color: #b480e5; }
  .page-template-page-partners .hero-panel .logo img,
  .page-template-page-downloads .hero-panel .logo img,
  .page-template-page-media .hero-panel .logo img,
  .page-template-page-team .hero-panel .logo img,
  .page-template-default .hero-panel .logo img,
  .error404 .hero-panel .logo img,
  .archive .hero-panel .logo img,
  .single-projects .hero-panel .logo img,
  .single-post .hero-panel .logo img,
  .page-template-page-donate .hero-panel .logo img,
  .page-template-page-magazine .hero-panel .logo img,
  .page-template-page-contact .hero-panel .logo img {
    display: none; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item,
  .page-template-page-media .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .error404 .hero-panel .hero-item,
  .archive .hero-panel .hero-item,
  .single-projects .hero-panel .hero-item,
  .single-post .hero-panel .hero-item,
  .page-template-page-donate .hero-panel .hero-item,
  .page-template-page-magazine .hero-panel .hero-item,
  .page-template-page-contact .hero-panel .hero-item {
    background-color: #b480e5; }

.page-template-page-partners .hero-wrapper,
.page-template-page-downloads .hero-wrapper,
.page-template-page-media .hero-wrapper,
.page-template-page-team .hero-wrapper,
.page-template-default .hero-wrapper,
.error404 .hero-wrapper,
.archive .hero-wrapper,
.single-projects .hero-wrapper,
.single-post .hero-wrapper,
.page-template-page-donate .hero-wrapper,
.page-template-page-magazine .hero-wrapper,
.page-template-page-contact .hero-wrapper {
  position: relative; }
  .page-template-page-partners .hero-wrapper .titles,
  .page-template-page-downloads .hero-wrapper .titles,
  .page-template-page-media .hero-wrapper .titles,
  .page-template-page-team .hero-wrapper .titles,
  .page-template-default .hero-wrapper .titles,
  .error404 .hero-wrapper .titles,
  .archive .hero-wrapper .titles,
  .single-projects .hero-wrapper .titles,
  .single-post .hero-wrapper .titles,
  .page-template-page-donate .hero-wrapper .titles,
  .page-template-page-magazine .hero-wrapper .titles,
  .page-template-page-contact .hero-wrapper .titles {
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    padding: 0 36px; }
    @media (min-width: 768px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        top: 60px;
        left: 0; } }
    @media (min-width: 1024px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        padding: 0 90px; } }
    @media (min-width: 1200px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        width: 62.6%; } }
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-family: playfair-display, serif;
      font-weight: 700;
      font-style: italic;
      color: white; }
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-family: montserrat, sans-serif;
      font-weight: 400;
      font-style: normal;
      color: white; }
  .page-template-page-partners .hero-wrapper .logo-white,
  .page-template-page-downloads .hero-wrapper .logo-white,
  .page-template-page-media .hero-wrapper .logo-white,
  .page-template-page-team .hero-wrapper .logo-white,
  .page-template-default .hero-wrapper .logo-white,
  .error404 .hero-wrapper .logo-white,
  .archive .hero-wrapper .logo-white,
  .single-projects .hero-wrapper .logo-white,
  .single-post .hero-wrapper .logo-white,
  .page-template-page-donate .hero-wrapper .logo-white,
  .page-template-page-magazine .hero-wrapper .logo-white,
  .page-template-page-contact .hero-wrapper .logo-white {
    width: 300px;
    height: auto;
    position: absolute;
    bottom: 60px;
    right: 60px; }

.page-template-page-partners .hero-wrapper .titles h1,
.page-template-page-downloads .hero-wrapper .titles h1,
.page-template-page-media .hero-wrapper .titles h1,
.page-template-page-team .hero-wrapper .titles h1,
.page-template-default .hero-wrapper .titles h1,
.error404 .hero-wrapper .titles h1,
.archive .hero-wrapper .titles h1,
.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1,
.page-template-page-donate .hero-wrapper .titles h1,
.page-template-page-magazine .hero-wrapper .titles h1,
.page-template-page-contact .hero-wrapper .titles h1 {
  font-size: 3em; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 6em; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 9em; } }

.page-template-page-partners .hero-wrapper .titles h2,
.page-template-page-downloads .hero-wrapper .titles h2,
.page-template-page-media .hero-wrapper .titles h2,
.page-template-page-team .hero-wrapper .titles h2,
.page-template-default .hero-wrapper .titles h2,
.error404 .hero-wrapper .titles h2,
.archive .hero-wrapper .titles h2,
.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2,
.page-template-page-donate .hero-wrapper .titles h2,
.page-template-page-magazine .hero-wrapper .titles h2,
.page-template-page-contact .hero-wrapper .titles h2 {
  font-size: 2.4em;
  margin: 15px 0 0 0; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.2em;
      margin: 21px 0 0 0; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.8em; } }

.page-template-page-partners .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.page-template-page-downloads .hero-panel {
  background-color: #0f5de5; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item {
    background-color: #0f5de5; }

.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1 {
  font-size: 3.6em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1 {
      font-size: 6em; } }

.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2 {
  font-size: 1.8em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2 {
      font-size: 3.6em; } }

.page-template-page-magazine .page-section {
  padding-top: 60px; }
  @media (min-width: 768px) {
    .page-template-page-magazine .page-section {
      padding-top: 90px; } }

.category-description p {
  color: white;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2em;
  margin-bottom: 10px;
  text-align: left;
  margin-top: 0; }

.page-template-page-partners .hero-item h1,
.page-template-page-downloads .hero-item h1,
.page-template-page-media .hero-item h1,
.page-template-page-team .hero-item h1,
.page-template-default .hero-item h1,
.error404 .hero-item h1,
.archive .hero-item h1,
.single-projects .hero-item h1,
.single-post .hero-item h1,
.page-template-page-donate .hero-item h1,
.page-template-page-magazine .hero-item h1,
.page-template-page-podcasts .hero-item h1,
.page-template-page-contact .hero-item h1 {
  display: none; }

.page-template-page-partners .hero-panel,
.page-template-page-downloads .hero-panel,
.page-template-page-media .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.error404 .hero-panel,
.archive .hero-panel,
.single-projects .hero-panel,
.single-post .hero-panel,
.page-template-page-donate .hero-panel,
.page-template-page-magazine .hero-panel,
.page-template-page-podcasts .hero-panel,
.page-template-page-contact .hero-panel {
  background-color: #b480e5; }
  .page-template-page-partners .hero-panel .logo img,
  .page-template-page-downloads .hero-panel .logo img,
  .page-template-page-media .hero-panel .logo img,
  .page-template-page-team .hero-panel .logo img,
  .page-template-default .hero-panel .logo img,
  .error404 .hero-panel .logo img,
  .archive .hero-panel .logo img,
  .single-projects .hero-panel .logo img,
  .single-post .hero-panel .logo img,
  .page-template-page-donate .hero-panel .logo img,
  .page-template-page-magazine .hero-panel .logo img,
  .page-template-page-podcasts .hero-panel .logo img,
  .page-template-page-contact .hero-panel .logo img {
    display: none; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item,
  .page-template-page-media .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .error404 .hero-panel .hero-item,
  .archive .hero-panel .hero-item,
  .single-projects .hero-panel .hero-item,
  .single-post .hero-panel .hero-item,
  .page-template-page-donate .hero-panel .hero-item,
  .page-template-page-magazine .hero-panel .hero-item,
  .page-template-page-podcasts .hero-panel .hero-item,
  .page-template-page-contact .hero-panel .hero-item {
    background-color: #b480e5; }

.page-template-page-partners .hero-wrapper,
.page-template-page-downloads .hero-wrapper,
.page-template-page-media .hero-wrapper,
.page-template-page-team .hero-wrapper,
.page-template-default .hero-wrapper,
.error404 .hero-wrapper,
.archive .hero-wrapper,
.single-projects .hero-wrapper,
.single-post .hero-wrapper,
.page-template-page-donate .hero-wrapper,
.page-template-page-magazine .hero-wrapper,
.page-template-page-podcasts .hero-wrapper,
.page-template-page-contact .hero-wrapper {
  position: relative; }
  .page-template-page-partners .hero-wrapper .titles,
  .page-template-page-downloads .hero-wrapper .titles,
  .page-template-page-media .hero-wrapper .titles,
  .page-template-page-team .hero-wrapper .titles,
  .page-template-default .hero-wrapper .titles,
  .error404 .hero-wrapper .titles,
  .archive .hero-wrapper .titles,
  .single-projects .hero-wrapper .titles,
  .single-post .hero-wrapper .titles,
  .page-template-page-donate .hero-wrapper .titles,
  .page-template-page-magazine .hero-wrapper .titles,
  .page-template-page-podcasts .hero-wrapper .titles,
  .page-template-page-contact .hero-wrapper .titles {
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    padding: 0 36px; }
    @media (min-width: 768px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        top: 60px;
        left: 0; } }
    @media (min-width: 1024px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        padding: 0 90px; } }
    @media (min-width: 1200px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        width: 62.6%; } }
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-family: playfair-display, serif;
      font-weight: 700;
      font-style: italic;
      color: white; }
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-family: montserrat, sans-serif;
      font-weight: 400;
      font-style: normal;
      color: white; }
  .page-template-page-partners .hero-wrapper .logo-white,
  .page-template-page-downloads .hero-wrapper .logo-white,
  .page-template-page-media .hero-wrapper .logo-white,
  .page-template-page-team .hero-wrapper .logo-white,
  .page-template-default .hero-wrapper .logo-white,
  .error404 .hero-wrapper .logo-white,
  .archive .hero-wrapper .logo-white,
  .single-projects .hero-wrapper .logo-white,
  .single-post .hero-wrapper .logo-white,
  .page-template-page-donate .hero-wrapper .logo-white,
  .page-template-page-magazine .hero-wrapper .logo-white,
  .page-template-page-podcasts .hero-wrapper .logo-white,
  .page-template-page-contact .hero-wrapper .logo-white {
    width: 300px;
    height: auto;
    position: absolute;
    bottom: 60px;
    right: 60px; }

.page-template-page-partners .hero-wrapper .titles h1,
.page-template-page-downloads .hero-wrapper .titles h1,
.page-template-page-media .hero-wrapper .titles h1,
.page-template-page-team .hero-wrapper .titles h1,
.page-template-default .hero-wrapper .titles h1,
.error404 .hero-wrapper .titles h1,
.archive .hero-wrapper .titles h1,
.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1,
.page-template-page-donate .hero-wrapper .titles h1,
.page-template-page-magazine .hero-wrapper .titles h1,
.page-template-page-podcasts .hero-wrapper .titles h1,
.page-template-page-contact .hero-wrapper .titles h1 {
  font-size: 3em; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 6em; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 9em; } }

.page-template-page-partners .hero-wrapper .titles h2,
.page-template-page-downloads .hero-wrapper .titles h2,
.page-template-page-media .hero-wrapper .titles h2,
.page-template-page-team .hero-wrapper .titles h2,
.page-template-default .hero-wrapper .titles h2,
.error404 .hero-wrapper .titles h2,
.archive .hero-wrapper .titles h2,
.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2,
.page-template-page-donate .hero-wrapper .titles h2,
.page-template-page-magazine .hero-wrapper .titles h2,
.page-template-page-podcasts .hero-wrapper .titles h2,
.page-template-page-contact .hero-wrapper .titles h2 {
  font-size: 2.4em;
  margin: 15px 0 0 0; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.2em;
      margin: 21px 0 0 0; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.8em; } }

.page-template-page-partners .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.page-template-page-downloads .hero-panel {
  background-color: #0f5de5; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item {
    background-color: #0f5de5; }

.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1 {
  font-size: 3.6em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1 {
      font-size: 6em; } }

.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2 {
  font-size: 1.8em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2 {
      font-size: 3.6em; } }

.page-template-page-podcasts .page-section {
  padding-top: 60px; }
  @media (min-width: 768px) {
    .page-template-page-podcasts .page-section {
      padding-top: 90px; } }

.category-description p {
  color: white;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2em;
  margin-bottom: 10px;
  text-align: left;
  margin-top: 0; }

.page-template-page-partners .hero-item h1,
.page-template-page-downloads .hero-item h1,
.page-template-page-media .hero-item h1,
.page-template-page-team .hero-item h1,
.page-template-default .hero-item h1,
.error404 .hero-item h1,
.archive .hero-item h1,
.single-projects .hero-item h1,
.single-post .hero-item h1,
.page-template-page-donate .hero-item h1,
.page-template-page-magazine .hero-item h1,
.page-template-page-podcasts .hero-item h1,
.page-template-page-contact .hero-item h1 {
  display: none; }

.page-template-page-partners .hero-panel,
.page-template-page-downloads .hero-panel,
.page-template-page-media .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.error404 .hero-panel,
.archive .hero-panel,
.single-projects .hero-panel,
.single-post .hero-panel,
.page-template-page-donate .hero-panel,
.page-template-page-magazine .hero-panel,
.page-template-page-podcasts .hero-panel,
.page-template-page-contact .hero-panel {
  background-color: #b480e5; }
  .page-template-page-partners .hero-panel .logo img,
  .page-template-page-downloads .hero-panel .logo img,
  .page-template-page-media .hero-panel .logo img,
  .page-template-page-team .hero-panel .logo img,
  .page-template-default .hero-panel .logo img,
  .error404 .hero-panel .logo img,
  .archive .hero-panel .logo img,
  .single-projects .hero-panel .logo img,
  .single-post .hero-panel .logo img,
  .page-template-page-donate .hero-panel .logo img,
  .page-template-page-magazine .hero-panel .logo img,
  .page-template-page-podcasts .hero-panel .logo img,
  .page-template-page-contact .hero-panel .logo img {
    display: none; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item,
  .page-template-page-media .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .error404 .hero-panel .hero-item,
  .archive .hero-panel .hero-item,
  .single-projects .hero-panel .hero-item,
  .single-post .hero-panel .hero-item,
  .page-template-page-donate .hero-panel .hero-item,
  .page-template-page-magazine .hero-panel .hero-item,
  .page-template-page-podcasts .hero-panel .hero-item,
  .page-template-page-contact .hero-panel .hero-item {
    background-color: #b480e5; }

.page-template-page-partners .hero-wrapper,
.page-template-page-downloads .hero-wrapper,
.page-template-page-media .hero-wrapper,
.page-template-page-team .hero-wrapper,
.page-template-default .hero-wrapper,
.error404 .hero-wrapper,
.archive .hero-wrapper,
.single-projects .hero-wrapper,
.single-post .hero-wrapper,
.page-template-page-donate .hero-wrapper,
.page-template-page-magazine .hero-wrapper,
.page-template-page-podcasts .hero-wrapper,
.page-template-page-contact .hero-wrapper {
  position: relative; }
  .page-template-page-partners .hero-wrapper .titles,
  .page-template-page-downloads .hero-wrapper .titles,
  .page-template-page-media .hero-wrapper .titles,
  .page-template-page-team .hero-wrapper .titles,
  .page-template-default .hero-wrapper .titles,
  .error404 .hero-wrapper .titles,
  .archive .hero-wrapper .titles,
  .single-projects .hero-wrapper .titles,
  .single-post .hero-wrapper .titles,
  .page-template-page-donate .hero-wrapper .titles,
  .page-template-page-magazine .hero-wrapper .titles,
  .page-template-page-podcasts .hero-wrapper .titles,
  .page-template-page-contact .hero-wrapper .titles {
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    padding: 0 36px; }
    @media (min-width: 768px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        top: 60px;
        left: 0; } }
    @media (min-width: 1024px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        padding: 0 90px; } }
    @media (min-width: 1200px) {
      .page-template-page-partners .hero-wrapper .titles,
      .page-template-page-downloads .hero-wrapper .titles,
      .page-template-page-media .hero-wrapper .titles,
      .page-template-page-team .hero-wrapper .titles,
      .page-template-default .hero-wrapper .titles,
      .error404 .hero-wrapper .titles,
      .archive .hero-wrapper .titles,
      .single-projects .hero-wrapper .titles,
      .single-post .hero-wrapper .titles,
      .page-template-page-donate .hero-wrapper .titles,
      .page-template-page-magazine .hero-wrapper .titles,
      .page-template-page-podcasts .hero-wrapper .titles,
      .page-template-page-contact .hero-wrapper .titles {
        width: 62.6%; } }
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-family: playfair-display, serif;
      font-weight: 700;
      font-style: italic;
      color: white; }
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-family: montserrat, sans-serif;
      font-weight: 400;
      font-style: normal;
      color: white; }
  .page-template-page-partners .hero-wrapper .logo-white,
  .page-template-page-downloads .hero-wrapper .logo-white,
  .page-template-page-media .hero-wrapper .logo-white,
  .page-template-page-team .hero-wrapper .logo-white,
  .page-template-default .hero-wrapper .logo-white,
  .error404 .hero-wrapper .logo-white,
  .archive .hero-wrapper .logo-white,
  .single-projects .hero-wrapper .logo-white,
  .single-post .hero-wrapper .logo-white,
  .page-template-page-donate .hero-wrapper .logo-white,
  .page-template-page-magazine .hero-wrapper .logo-white,
  .page-template-page-podcasts .hero-wrapper .logo-white,
  .page-template-page-contact .hero-wrapper .logo-white {
    width: 300px;
    height: auto;
    position: absolute;
    bottom: 60px;
    right: 60px; }

.page-template-page-partners .hero-wrapper .titles h1,
.page-template-page-downloads .hero-wrapper .titles h1,
.page-template-page-media .hero-wrapper .titles h1,
.page-template-page-team .hero-wrapper .titles h1,
.page-template-default .hero-wrapper .titles h1,
.error404 .hero-wrapper .titles h1,
.archive .hero-wrapper .titles h1,
.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1,
.page-template-page-donate .hero-wrapper .titles h1,
.page-template-page-magazine .hero-wrapper .titles h1,
.page-template-page-podcasts .hero-wrapper .titles h1,
.page-template-page-contact .hero-wrapper .titles h1 {
  font-size: 3em; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 6em; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h1,
    .page-template-page-downloads .hero-wrapper .titles h1,
    .page-template-page-media .hero-wrapper .titles h1,
    .page-template-page-team .hero-wrapper .titles h1,
    .page-template-default .hero-wrapper .titles h1,
    .error404 .hero-wrapper .titles h1,
    .archive .hero-wrapper .titles h1,
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1,
    .page-template-page-donate .hero-wrapper .titles h1,
    .page-template-page-magazine .hero-wrapper .titles h1,
    .page-template-page-podcasts .hero-wrapper .titles h1,
    .page-template-page-contact .hero-wrapper .titles h1 {
      font-size: 9em; } }

.page-template-page-partners .hero-wrapper .titles h2,
.page-template-page-downloads .hero-wrapper .titles h2,
.page-template-page-media .hero-wrapper .titles h2,
.page-template-page-team .hero-wrapper .titles h2,
.page-template-default .hero-wrapper .titles h2,
.error404 .hero-wrapper .titles h2,
.archive .hero-wrapper .titles h2,
.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2,
.page-template-page-donate .hero-wrapper .titles h2,
.page-template-page-magazine .hero-wrapper .titles h2,
.page-template-page-podcasts .hero-wrapper .titles h2,
.page-template-page-contact .hero-wrapper .titles h2 {
  font-size: 2.4em;
  margin: 15px 0 0 0; }
  @media (min-width: 768px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.2em;
      margin: 21px 0 0 0; } }
  @media (min-width: 1024px) {
    .page-template-page-partners .hero-wrapper .titles h2,
    .page-template-page-downloads .hero-wrapper .titles h2,
    .page-template-page-media .hero-wrapper .titles h2,
    .page-template-page-team .hero-wrapper .titles h2,
    .page-template-default .hero-wrapper .titles h2,
    .error404 .hero-wrapper .titles h2,
    .archive .hero-wrapper .titles h2,
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2,
    .page-template-page-donate .hero-wrapper .titles h2,
    .page-template-page-magazine .hero-wrapper .titles h2,
    .page-template-page-podcasts .hero-wrapper .titles h2,
    .page-template-page-contact .hero-wrapper .titles h2 {
      font-size: 4.8em; } }

.page-template-page-partners .hero-panel,
.page-template-page-team .hero-panel,
.page-template-default .hero-panel,
.page-template-page-downloads .hero-panel {
  background-color: #0f5de5; }
  .page-template-page-partners .hero-panel .hero-item,
  .page-template-page-team .hero-panel .hero-item,
  .page-template-default .hero-panel .hero-item,
  .page-template-page-downloads .hero-panel .hero-item {
    background-color: #0f5de5; }

.single-projects .hero-wrapper .titles h1,
.single-post .hero-wrapper .titles h1 {
  font-size: 3.6em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h1,
    .single-post .hero-wrapper .titles h1 {
      font-size: 6em; } }

.single-projects .hero-wrapper .titles h2,
.single-post .hero-wrapper .titles h2 {
  font-size: 1.8em; }
  @media (min-width: 768px) {
    .single-projects .hero-wrapper .titles h2,
    .single-post .hero-wrapper .titles h2 {
      font-size: 3.6em; } }

.page-template-page-podcasts .page-section {
  padding-top: 60px; }
  @media (min-width: 768px) {
    .page-template-page-podcasts .page-section {
      padding-top: 90px; } }

.single-post #main {
  background-color: white; }

.single-post .posts-overview {
  background-color: #b480e5; }
  .single-post .posts-overview h1 {
    text-align: center;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 3em;
    padding: 0 45px; }
    .single-post .posts-overview h1 a {
      color: white; }
    @media (min-width: 768px) {
      .single-post .posts-overview h1 {
        font-size: 6em;
        padding: 0 90px; } }

.single-post .main-content {
  padding: 30px 0 90px 0; }
  @media (min-width: 768px) {
    .single-post .main-content {
      padding: 60px 0 150px 0; } }

.single-post .entry-content h1 {
  margin-bottom: 30px; }

.entry-content .article-intro p {
  font-size: 1.8em; }
  @media (min-width: 768px) {
    .entry-content .article-intro p {
      font-size: 2.4em; } }

.single-post .article-intro {
  margin-bottom: 45px; }

.intro-image {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-color: #0f5de5;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: block; }

.single-projects .slideshow-holder,
.single-projects .full_article {
  margin: 60px 0 0 0; }
  @media (min-width: 1024px) {
    .single-projects .slideshow-holder,
    .single-projects .full_article {
      margin: 120px 0 0 0; } }

.single-projects .article-intro .entry-content {
  padding: 45px 30px; }
  @media (min-width: 1024px) {
    .single-projects .article-intro .entry-content {
      padding: 45px 15px 0 60px; } }

.single-projects .entry-content {
  color: white; }
  .single-projects .entry-content h1 {
    padding: 0 25% 0 0; }

.single-projects .slideshow-holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.single-projects .main-content {
  padding-bottom: 90px; }

.single-projects .partners {
  margin-top: 90px; }

.single-projects .partner .picture {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 80% auto;
  background-position: center center;
  display: block;
  margin-bottom: 15px; }

.member-switcher-nav a {
  display: block;
  text-align: center;
  font-size: 1.8em;
  color: white;
  padding: 15px 30px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .member-switcher-nav a:hover, .member-switcher-nav a:visited {
    color: white; }

.page-template-page-team .member-switcher-content h1 {
  text-align: center;
  font-family: playfair-display, serif;
  font-weight: 900;
  font-style: italic;
  font-size: 3.6em;
  margin: 0 0 15px 0;
  color: white;
  margin-bottom: 45px;
  text-align: left; }
  @media (min-width: 768px) {
    .page-template-page-team .member-switcher-content h1 {
      font-size: 4.8em; } }
  @media (min-width: 768px) {
    .page-template-page-team .member-switcher-content h1 {
      text-align: center; } }

.page-template-page-team .member-switcher-content .entry-content p {
  text-align: center; }

.page-template-page-team .members-overview {
  margin: 45px 0; }

.page-template-page-team .board-member {
  padding: 0;
  margin: 30px 0 60px 0; }
  @media (min-width: 768px) {
    .page-template-page-team .board-member {
      padding: 0 15px; } }
  .page-template-page-team .board-member .featured-image {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    background-color: #0d53cd;
    overflow: hidden;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
  .page-template-page-team .board-member h1 {
    text-align: center;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 3.6em;
    margin: 0 0 15px 0;
    text-align: left;
    margin: 18px 0;
    font-size: 2.7em; }
    @media (min-width: 768px) {
      .page-template-page-team .board-member h1 {
        font-size: 4.8em; } }
  .page-template-page-team .board-member .country,
  .page-template-page-team .board-member .function {
    font-size: 1.8em;
    color: white;
    font-weight: 600; }

.page-template-page-partners .uk-modal-dialog {
  padding-top: 46px; }

.testimonial-popup .uk-modal-dialog,
.page-template-page-partners .uk-modal-dialog,
.page-template-page-team .uk-modal-dialog {
  width: 810px;
  background-color: transparent;
  color: white; }

.testimonial-popup h2.function {
  font-size: 2.4em; }
  .testimonial-popup h2.function span {
    display: block;
    margin-top: 15px; }
  .testimonial-popup h2.function i {
    font-style: normal; }

#testimonials .board-member-detail .featured-image,
.testimonial-popup .board-member-detail .featured-image,
.page-template-page-partners .board-member-detail .featured-image,
.page-template-page-team .board-member-detail .featured-image {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.66%;
  background-color: #0d53cd;
  overflow: hidden;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 45px; }

#testimonials .board-member-detail h1,
.testimonial-popup .board-member-detail h1,
.page-template-page-partners .board-member-detail h1,
.page-template-page-team .board-member-detail h1 {
  text-align: center;
  font-family: playfair-display, serif;
  font-weight: 900;
  font-style: italic;
  font-size: 3.6em;
  margin: 0 0 15px 0;
  color: white;
  text-align: left;
  margin-bottom: 30px; }
  @media (min-width: 768px) {
    #testimonials .board-member-detail h1,
    .testimonial-popup .board-member-detail h1,
    .page-template-page-partners .board-member-detail h1,
    .page-template-page-team .board-member-detail h1 {
      font-size: 4.8em; } }
  @media (min-width: 768px) {
    #testimonials .board-member-detail h1,
    .testimonial-popup .board-member-detail h1,
    .page-template-page-partners .board-member-detail h1,
    .page-template-page-team .board-member-detail h1 {
      text-align: center;
      margin-bottom: 45px; } }

#testimonials .board-member-detail.partnership-detail .intro p,
.testimonial-popup .board-member-detail.partnership-detail .intro p,
.page-template-page-partners .board-member-detail.partnership-detail .intro p,
.page-template-page-team .board-member-detail.partnership-detail .intro p {
  margin-bottom: 15px; }
  #testimonials .board-member-detail.partnership-detail .intro p:last-child,
  .testimonial-popup .board-member-detail.partnership-detail .intro p:last-child,
  .page-template-page-partners .board-member-detail.partnership-detail .intro p:last-child,
  .page-template-page-team .board-member-detail.partnership-detail .intro p:last-child {
    margin-bottom: 0; }

#testimonials .board-member-detail .intro,
.testimonial-popup .board-member-detail .intro,
.page-template-page-partners .board-member-detail .intro,
.page-template-page-team .board-member-detail .intro {
  color: white;
  text-align: left;
  font-size: 2.4em;
  margin-bottom: 30px; }
  @media (min-width: 768px) {
    #testimonials .board-member-detail .intro,
    .testimonial-popup .board-member-detail .intro,
    .page-template-page-partners .board-member-detail .intro,
    .page-template-page-team .board-member-detail .intro {
      text-align: center;
      margin-bottom: 45px; } }
  #testimonials .board-member-detail .intro p a,
  #testimonials .board-member-detail .intro p a:visited,
  .testimonial-popup .board-member-detail .intro p a,
  .testimonial-popup .board-member-detail .intro p a:visited,
  .page-template-page-partners .board-member-detail .intro p a,
  .page-template-page-partners .board-member-detail .intro p a:visited,
  .page-template-page-team .board-member-detail .intro p a,
  .page-template-page-team .board-member-detail .intro p a:visited {
    color: white;
    text-decoration: underline; }

#testimonials .board-member-detail .email,
.testimonial-popup .board-member-detail .email,
.page-template-page-partners .board-member-detail .email,
.page-template-page-team .board-member-detail .email {
  margin-top: 9px; }

#testimonials .board-member-detail .email a,
#testimonials .board-member-detail .email a:visited,
.testimonial-popup .board-member-detail .email a,
.testimonial-popup .board-member-detail .email a:visited,
.page-template-page-partners .board-member-detail .email a,
.page-template-page-partners .board-member-detail .email a:visited,
.page-template-page-team .board-member-detail .email a,
.page-template-page-team .board-member-detail .email a:visited {
  color: white;
  font-family: montserrat, sans-serif;
  font-weight: 500;
  font-style: italic;
  text-decoration: underline; }

#testimonials .board-member-detail {
  margin-bottom: 30px;
  padding-left: 20px;
  padding-right: 20px; }
  #testimonials .board-member-detail h1 {
    text-align: left;
    color: #000000; }
  #testimonials .board-member-detail h1,
  #testimonials .board-member-detail .featured-image {
    margin-bottom: 21px; }
  #testimonials .board-member-detail .excerpt p {
    font-family: montserrat, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.6em;
    color: #000000; }
    @media (min-width: 768px) {
      #testimonials .board-member-detail .excerpt p {
        font-size: 2em; } }

.page-template-page-partners .board-member-detail .featured-image {
  background-size: auto;
  background-color: white; }

.slider-naver {
  background-color: white;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  @media (min-width: 768px) {
    .slider-naver {
      width: 44px;
      height: 44px; } }

.slideshow-holder .uk-slider {
  width: 100%;
  position: relative; }
  .slideshow-holder .uk-slider .gsbtb-image-holder {
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    background-color: #0f5de5;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    display: block; }
  .slideshow-holder .uk-slider .uk-slider-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 30px; }
  .slideshow-holder .uk-slider .uk-dotnav > * > * {
    border-color: white;
    width: 18px;
    height: 18px; }
  .slideshow-holder .uk-slider .uk-dotnav > .uk-active > * {
    background-color: white; }

main.color-white .slideshow-holder .uk-slider .uk-dotnav > * > * {
  border-color: #fc3b3d;
  width: 18px;
  height: 18px; }

main.color-white .slideshow-holder .uk-slider .uk-dotnav > .uk-active > * {
  background-color: #fc3b3d; }

.archive #main {
  background-color: white; }

.archive .grid-holder {
  padding: 60px 0; }
  @media (min-width: 1024px) {
    .archive .grid-holder {
      padding: 150px 0; } }

@media (min-width: 1024px) {
  .page-template-page-downloads .downloads-holder li {
    padding: 0 30px 30px 30px; } }

.page-template-page-downloads .downloads-holder a.file {
  background-color: #fc3b3d;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 30px;
  text-align: center;
  -webkit-transition: all .14s ease;
  transition: all .14s ease; }
  @media (min-width: 1024px) {
    .page-template-page-downloads .downloads-holder a.file {
      padding: 60px 30px; } }
  .page-template-page-downloads .downloads-holder a.file:hover {
    background-color: #b480e5; }
    .page-template-page-downloads .downloads-holder a.file:hover .btn {
      background-color: #fc3b3d; }
  .page-template-page-downloads .downloads-holder a.file .filename {
    font-family: montserrat, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.6em; }
    @media (min-width: 768px) {
      .page-template-page-downloads .downloads-holder a.file .filename {
        font-size: 2em; } }
  .page-template-page-downloads .downloads-holder a.file .btn {
    background-color: #b480e5;
    font-family: montserrat, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.6em;
    color: white;
    margin-top: 30px;
    padding: 15px 30px;
    -webkit-transition: all .14s ease;
    transition: all .14s ease; }
    @media (min-width: 768px) {
      .page-template-page-downloads .downloads-holder a.file .btn {
        font-size: 2em; } }

.page-template-page-media .media-image-holder {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background-color: #fff; }
  .page-template-page-media .media-image-holder a,
  .page-template-page-media .media-image-holder span {
    width: 90%;
    height: 90%;
    left: 5%;
    top: 5%;
    position: absolute;
    background-color: #fff;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center; }

.page-template-page-media .media-images {
  margin-top: 60px; }
  @media (min-width: 1024px) {
    .page-template-page-media .media-images {
      margin-top: 150px; } }

.page-template-page-media .bg-image-holder {
  background: #fc3b3d;
  width: 100%;
  height: 480px;
  position: relative; }
  .page-template-page-media .bg-image-holder .bg-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-filter: grayscale(1);
            filter: grayscale(1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode: multiply; }

.partners-holder.uk-grid-large {
  margin-top: 120px; }

.partners-holder h2.cat-title {
  color: #000000;
  margin: 75px 0 45px 0;
  text-align: left; }

.partners-holder .info-holder {
  width: 100%;
  padding-bottom: 100%;
  height: 0;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 80% auto;
  background-color: white; }

.partners-holder .partner-info {
  position: relative; }

.partners-holder .content-holder {
  text-align: left;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fc3b3d;
  padding: 15px;
  width: 100%;
  height: 100%; }
  .partners-holder .content-holder p strong,
  .partners-holder .content-holder h2,
  .partners-holder .content-holder h3 {
    color: #fff; }
  .partners-holder .content-holder p {
    font-size: 1.6em; }
  .partners-holder .content-holder h3 {
    margin-top: 15px; }
  .partners-holder .content-holder .sub_title {
    margin-bottom: 10px; }

.page-template-page-partners .ways-holder h1 {
  text-align: center;
  margin-bottom: 90px; }

.page-template-page-partners .ways-holder h3 {
  text-align: center;
  margin-top: 10px; }

.page-template-page-partners .ways-holder .image-holder {
  width: 100%;
  padding-bottom: 100%;
  height: 0;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: white;
  display: block; }

.page-template-page-events-php {
  background-color: #b480e5; }
  .page-template-page-events-php .member-switcher-nav {
    margin-top: 30px;
    margin-bottom: 60px; }
  .page-template-page-events-php .type-events-holder {
    margin-bottom: 15px;
    display: block;
    height: 100%; }
  .page-template-page-events-php .type-events {
    padding: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
    @media (min-width: 1024px) {
      .page-template-page-events-php .type-events {
        text-align: left;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .page-template-page-events-php .single-event-holder {
    padding: 0;
    width: 100%;
    margin: 0 auto;
    max-width: 1440px; }
    @media (min-width: 768px) {
      .page-template-page-events-php .single-event-holder {
        padding: 0 45px; } }
    @media (min-width: 1024px) {
      .page-template-page-events-php .single-event-holder {
        padding: 0 90px; }
        .page-template-page-events-php .single-event-holder.no-padding {
          padding: 0; } }
    .page-template-page-events-php .single-event-holder .wrap {
      padding: 0 36px; }
      @media (min-width: 768px) {
        .page-template-page-events-php .single-event-holder .wrap {
          padding: 0; } }
  .page-template-page-events-php .event-description-holder {
    padding: 45px 0; }
  .page-template-page-events-php #events_oms .type-events {
    background-color: #1ab347; }
  .page-template-page-events-php #events_sprachcafe .type-events {
    background-color: #0f5de5; }
  .page-template-page-events-php #events_open_kitchen .type-events {
    background-color: #fda629; }
  .page-template-page-events-php #events_oas .type-events {
    background-color: #fc3b3d; }
  .page-template-page-events-php #events_general .type-events {
    background-color: #e881aa; }
  .page-template-page-events-php .type-events {
    padding: 45px; }
  .page-template-page-events-php #single_article .spinner {
    display: none; }
  .page-template-page-events-php .single-event .uk-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
    @media (min-width: 768px) {
      .page-template-page-events-php .single-event .uk-grid {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .page-template-page-events-php #single_article.loading {
    min-height: 540px; }
    .page-template-page-events-php #single_article.loading .spinner {
      display: block; }
  .page-template-page-events-php .date-holder {
    text-align: center; }
    @media (min-width: 1024px) {
      .page-template-page-events-php .date-holder {
        text-align: right;
        width: 100px;
        -ms-flex-preferred-size: 100px;
            flex-basis: 100px;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }
    .page-template-page-events-php .date-holder .year,
    .page-template-page-events-php .date-holder .dayname {
      font-family: montserrat, sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 1.6em;
      margin: 0;
      color: white; }
    .page-template-page-events-php .date-holder .date {
      font-family: montserrat, sans-serif;
      font-weight: 600;
      font-style: normal;
      font-size: 2.4em;
      margin: 0;
      color: white; }
  .page-template-page-events-php .avatar {
    width: 150px;
    height: 150px;
    border-radius: 100%;
    background-color: #0f5de5; }
  .page-template-page-events-php .avatar-holder {
    margin: 15px 0; }
    @media (min-width: 1024px) {
      .page-template-page-events-php .avatar-holder {
        margin: 0 30px; } }
  .page-template-page-events-php .read-more {
    margin-top: 45px; }
  .page-template-page-events-php p.date {
    font-size: 1.6em; }
  .page-template-page-events-php .slider-naver {
    position: absolute;
    top: 50%;
    margin-top: -22px; }
    .page-template-page-events-php .slider-naver.uk-slidenav-previous {
      left: 0; }
    .page-template-page-events-php .slider-naver.uk-slidenav-next {
      right: 0; }

.event-description-holder .events_button {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 45px; }

body.menu-open {
  overflow: hidden;
  height: 100%;
  -ms-touch-action: none;
  touch-action: none; }
  body.menu-open #mobile-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: 100vh; }
    @media (min-width: 1024px) {
      body.menu-open #mobile-menu {
        display: none !important; } }

#mobile-menu {
  width: 100%;
  position: relative;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  height: 100vh;
  max-height: 0;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  background-color: #fc3b3d; }
  #mobile-menu .nav-holder {
    padding: 240px 15px; }
  #mobile-menu .padder {
    width: 66%;
    background: #0f5de5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }

#mobile-menu nav.languages {
  position: absolute;
  bottom: 24px;
  left: 0;
  width: 100%;
  text-align: center; }

.page-template-page-infographic .page-section {
  padding: 0; }
  .page-template-page-infographic .page-section .wrap {
    padding: 0; }
  .page-template-page-infographic .page-section img {
    margin: 0 auto; }

.page-section {
  padding: 60px 0; }
  @media (min-width: 768px) {
    .page-section {
      padding: 90px 0; } }
  @media (min-width: 1024px) {
    .page-section {
      padding: 120px 0 90px 0; } }
  .page-section .page-section-header {
    margin-bottom: 45px; }
    @media (min-width: 768px) {
      .page-section .page-section-header {
        margin-bottom: 105px; } }
    .page-section .page-section-header .subber {
      margin-top: 30px; }
      @media (min-width: 768px) {
        .page-section .page-section-header .subber {
          padding: 0 45px; } }
      @media (min-width: 1024px) {
        .page-section .page-section-header .subber {
          padding: 0 90px; } }
      .page-section .page-section-header .subber p {
        color: white;
        text-align: center;
        font-size: 2em; }
        .page-section .page-section-header .subber p a,
        .page-section .page-section-header .subber p a:visited {
          color: white;
          text-decoration: underline; }
          .page-section .page-section-header .subber p a:hover,
          .page-section .page-section-header .subber p a:visited:hover {
            text-decoration: none; }
    .page-section .page-section-header h1 {
      padding: 0;
      color: white;
      text-align: center;
      font-family: playfair-display, serif;
      font-weight: 900;
      font-style: italic;
      font-size: 2.7em; }
      .page-section .page-section-header h1 a {
        color: white; }
      @media (min-width: 480px) {
        .page-section .page-section-header h1 {
          font-size: 3.6em; } }
      @media (min-width: 768px) {
        .page-section .page-section-header h1 {
          font-size: 4.5em;
          padding: 0 45px; } }
      @media (min-width: 1024px) {
        .page-section .page-section-header h1 {
          font-size: 6em;
          padding: 0 90px; } }
    .page-section .page-section-header.simple-version h1 {
      padding: 0;
      text-align: left; }
  .page-section h2 {
    color: white;
    text-align: center;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 3.6em;
    margin: 0 0 15px 0; }
    @media (min-width: 768px) {
      .page-section h2 {
        font-size: 4.8em; } }
  .page-section h3 {
    color: white;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 2.7em;
    margin: 0 0 15px 0; }
  .page-section.bg-white h1 {
    color: #000000; }

.bg-grey .entry-content,
.bg-white .entry-content,
.single-projects #main.color-white .entry-content,
.single-post .entry-content {
  color: #000000; }
  .bg-grey .entry-content p a,
  .bg-grey .entry-content p a:visited,
  .bg-grey .entry-content p a:active,
  .bg-grey .entry-content p a:hover,
  .bg-grey .entry-content p,
  .bg-grey .entry-content li,
  .bg-grey .entry-content h1,
  .bg-grey .entry-content h2,
  .bg-grey .entry-content h3,
  .bg-grey .entry-content h4,
  .bg-grey .entry-content h5,
  .bg-grey .entry-content h6,
  .bg-white .entry-content p a,
  .bg-white .entry-content p a:visited,
  .bg-white .entry-content p a:active,
  .bg-white .entry-content p a:hover,
  .bg-white .entry-content p,
  .bg-white .entry-content li,
  .bg-white .entry-content h1,
  .bg-white .entry-content h2,
  .bg-white .entry-content h3,
  .bg-white .entry-content h4,
  .bg-white .entry-content h5,
  .bg-white .entry-content h6,
  .single-projects #main.color-white .entry-content p a,
  .single-projects #main.color-white .entry-content p a:visited,
  .single-projects #main.color-white .entry-content p a:active,
  .single-projects #main.color-white .entry-content p a:hover,
  .single-projects #main.color-white .entry-content p,
  .single-projects #main.color-white .entry-content li,
  .single-projects #main.color-white .entry-content h1,
  .single-projects #main.color-white .entry-content h2,
  .single-projects #main.color-white .entry-content h3,
  .single-projects #main.color-white .entry-content h4,
  .single-projects #main.color-white .entry-content h5,
  .single-projects #main.color-white .entry-content h6,
  .single-post .entry-content p a,
  .single-post .entry-content p a:visited,
  .single-post .entry-content p a:active,
  .single-post .entry-content p a:hover,
  .single-post .entry-content p,
  .single-post .entry-content li,
  .single-post .entry-content h1,
  .single-post .entry-content h2,
  .single-post .entry-content h3,
  .single-post .entry-content h4,
  .single-post .entry-content h5,
  .single-post .entry-content h6 {
    color: #000000; }

.entry-content {
  padding: 0;
  color: #fff;
  /*
  image alignment on a screen this size may be
  a bit difficult. It's set to start aligning
  and floating images at the next breakpoint,
  but it's up to you. Feel free to change it up.
  */ }
  .entry-content p,
  .entry-content li,
  .entry-content h1,
  .entry-content h2,
  .entry-content h3,
  .entry-content h4,
  .entry-content h5,
  .entry-content h6 {
    color: #fff; }
  .entry-content a,
  .entry-content a:visited {
    color: white;
    text-decoration: underline; }
    .entry-content a.read-more,
    .entry-content a:visited.read-more {
      text-decoration: none; }
    .entry-content a:hover,
    .entry-content a:visited:hover {
      text-decoration: none; }
  .entry-content p {
    font-family: montserrat, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.6em;
    margin: 0 0 1.5em; }
    @media (min-width: 768px) {
      .entry-content p {
        font-size: 2em; } }
    .entry-content p:last-child {
      margin-bottom: 0; }
  .entry-content li {
    font-family: montserrat, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.6em;
    padding-left: 30px;
    position: relative; }
    @media (min-width: 768px) {
      .entry-content li {
        font-size: 2em; } }
    .entry-content li:before {
      content: "";
      position: absolute;
      width: 10px;
      height: 10px;
      background-color: white;
      border-radius: 10px;
      top: 10px;
      left: 0px; }
  .entry-content h1 {
    text-align: left;
    font-family: playfair-display, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 3.6em;
    margin: 120px 0 15px 0;
    padding: 0; }
    .entry-content h1:first-child {
      margin-top: 0; }
    .entry-content h1 a {
      color: white; }
    @media (min-width: 480px) {
      .entry-content h1 {
        font-size: 4.2em; } }
    @media (min-width: 768px) {
      .entry-content h1 {
        font-size: 6em;
        margin: 120px 0 45px 0; } }
  .entry-content h2 {
    text-align: left;
    font-family: montserrat, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2.4em;
    margin: 60px 0 30px 0;
    padding: 0; }
    @media (min-width: 768px) {
      .entry-content h2 {
        font-size: 3.6em; } }
    .entry-content h2:first-child {
      margin-top: 0; }
  .entry-content ul, .entry-content ol {
    margin-bottom: 3em; }
  .entry-content iframe {
    width: 100%; }
  .entry-content table {
    width: 100%;
    border: 1px solid #eaedf2;
    margin-bottom: 1.5em; }
    .entry-content table caption {
      margin: 0 0 7px;
      font-size: 0.75em;
      color: #9fa6b4;
      text-transform: uppercase;
      letter-spacing: 1px; }
  .entry-content tr {
    border-bottom: 1px solid #eaedf2; }
    .entry-content tr:nth-child(even) {
      background-color: #f8f9fa; }
  .entry-content td {
    padding: 7px;
    border-right: 1px solid #eaedf2; }
    .entry-content td:last-child {
      border-right: 0; }
  .entry-content th {
    background-color: #f8f9fa;
    border-bottom: 1px solid #eaedf2;
    border-right: 1px solid #eaedf2; }
    .entry-content th:last-child {
      border-right: 0; }
  .entry-content blockquote {
    margin: 0 0 1.5em 0.75em;
    padding: 0 0 0 0.75em;
    border-left: 3px solid #0f5de5;
    font-style: italic;
    color: #9fa6b4; }
  .entry-content dd {
    margin-left: 0;
    font-size: 0.9em;
    color: #787878;
    margin-bottom: 1.5em; }
  .entry-content img {
    margin: 30px 0;
    max-width: 100%;
    height: auto; }
  .entry-content .wp-block-image:first-child img {
    margin-top: 0; }
  .entry-content .size-auto,
  .entry-content .size-full,
  .entry-content .size-large,
  .entry-content .size-medium,
  .entry-content .size-thumbnail {
    max-width: 100%;
    height: auto; }
  .entry-content pre {
    background: #000000;
    color: #f8f9fa;
    font-size: 0.9em;
    padding: 1.5em;
    margin: 0 0 1.5em;
    border-radius: 3px; }
  @media (min-width: 480px) {
    .entry-content {
      /* at this larger size, we can start to align images */ }
      .entry-content .alignleft, .entry-content img.alignleft {
        margin-right: 1.5em;
        display: inline;
        float: left; }
      .entry-content .alignright, .entry-content img.alignright {
        margin-left: 1.5em;
        display: inline;
        float: right; }
      .entry-content .aligncenter, .entry-content img.aligncenter {
        margin-right: auto;
        margin-left: auto;
        display: block;
        clear: both; } }

/* end .entry-content */
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Retina Screens & Devices Stylesheet

When handling retina screens you need to make adjustments, especially
if you're not using font icons. Here you can add them in one neat
place.

******************************************************************/
  /* 

EXAMPLE 
Let's say you have an image and you need to make sure it looks ok
on retina screens. Let's say we have an icon which dimension are
24px x 24px. In your regular stylesheets, it would look something
like this:

.icon {
	width: 24px;
	height: 24px;
	background: url(img/test.png) no-repeat;
}

For retina screens, we have to make some adjustments, so that image
doesn't look blurry. So, taking into account the image above and the
dimensions, this is what we would put in our retina stylesheet:

.icon {
	background: url(img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

So, you would create the same icon, but at double the resolution, meaning 
it would be 48px x 48px. You'd name it the same, but with a @2x at the end
(this is pretty standard practice). Set the background image so it matches
the original dimensions and you are good to go. 

*/ }

/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -ms-filter: none !important; }
  a,
  a:visited {
    color: #444 !important;
    text-decoration: underline; }
    a:after, a:visited:after {
      content: " (" attr(href) ")"; }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none; } }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIi4uL3Njc3Mvc3R5bGUuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX25vcm1hbGl6ZS5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19taXhpbnMuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLXRoZW1lLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9taXhpbnMtdGhlbWUuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWFkaW5nLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2RpdmlkZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWl4aW4uc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlzdC5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kZXNjcmlwdGlvbi1saXN0LnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb24uc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS1yYW5nZS5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcm9ncmVzcy5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbnRhaW5lci5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90aWxlLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2xvc2Uuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3Bpbm5lci5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJrZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxlcnQuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGFiZWwuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbW1lbnQuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Bkb3duLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlc2hvdy5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3RpY2t5LnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL29mZmNhbnZhcy5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sZWFkZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2LnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdmJhci5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZW5hdi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kb3RuYXYuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGh1bWJuYXYuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbm5hdi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saWdodGJveC5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvd2lkdGguc2NzcyIsIi4uL3Njc3MvaW5jbHVkZXMvX3dpZHRoLWV4dGVuc2lvbi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWlnaHQuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGV4dC5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY292ZXIuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdmcuc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmdpbi5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RyYW5zaXRpb24uc2NzcyIsIi4uL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwiLi4vdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCIuLi91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3ByaW50LnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19mdW5jdGlvbnMuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2J1dHRvbnMuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2Zvcm1zLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvX2hhbWJ1cmdlcnMuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL18zZHguc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS1yLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHkuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS1yLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQtci5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd3R1cm4uc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3d0dXJuLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fYm9yaW5nLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMtci5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL19taW51cy5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL19zcGluLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy1yLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLnNjc3MiLCIuLi9zY3NzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLXIuc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwiLi4vc2Nzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXguc2NzcyIsIi4uL3Njc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LXIuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19ob21lLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19jb2xvcnMuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2NvbnRhY3Quc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX3NwaW5uZXIuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2RvbmF0ZS5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9faGVyby5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9fbWVudS5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9fbWFnYXppbmUuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX3BvZGNhc3RzLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19zaW5nbGUuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX3Byb2plY3RzLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL190ZWFtLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19zbGlkZXIuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2FyY2hpdmUuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2Rvd25sb2Fkcy5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9fbWVkaWEuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX3BhcnRuZXJzLnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19jYWxlbmRhci5zY3NzIiwiLi4vc2Nzcy9wYXJ0aWFscy9fbWVudS1tb2JpbGUuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvX2VudHJ5LWNvbnRlbnQuc2NzcyIsIi4uL3Njc3MvcGFydGlhbHMvXzJ4LnNjc3MiLCIuLi9zY3NzL3BhcnRpYWxzL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQixtREFBbUQ7QUFFbkQ7Ozs7Ozs7Ozs7Ozs7O21FQWNtRTtBQUVuRTs7Ozs7c0JBS3NCO0FDdkJ0QixrRkFBa0Y7QUFHbEY7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIOzs7Ozs7Ozs7Ozs7RUFZSSxlQUFjLEVBQ2pCOztBQUVEOztHQUVHO0FBRUg7OztFQUdJLHNCQUFxQixFQUN4Qjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNJLGNBQWE7RUFDYixVQUFTLEVBQ1o7O0FBRUQ7OztHQUdHO0FGZUg7O0VFWEksY0FBYSxFQUNoQjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSDtFQUNJLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQzFDOztBQUVEOztHQUVHO0FBRUg7RUFDSSxVQUFTLEVBQ1o7O0FBRUQ7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0ksd0JBQXVCLEVBQzFCOztBQUVEOztHQUVHO0FBRUg7RUFDSSxxQkFBb0IsRUFDdkI7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFSSxXQUFVLEVBQ2I7O0FBRUQ7O2dGQUVnRjtBQUVo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d0I7RUNpVUUsMEJEak1QLEVZb0N0Qjs7QUFFRCxtQkFBbUI7QUFDbkI7O0VBRUksOEJaV3lDO0VZVnpDLFlaMUt3QjtFQ2tVUSxzQkR3dUJxQixFWTkzQnhEOztBQUVELHNCQUFzQjtBQUN0Qjs7RUFFSSw4QlpLMEM7RVlKMUMsWVpsTHdCO0VDbVVTLHNCRHd1QnFCLEVZdjNCekQ7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLDBCWnhLK0I7RVl5Sy9CLFladkx1QjtFQytURyw4QkFBOEMsRVd0STNFOztBQUVELG1CQUFtQjtBQUNuQjs7RUFFSSwwQlpUb0U7RVlVcEUsWVovTHVCLEVZaU0xQjs7QUFFRCxzQkFBc0I7QUFDdEI7O0VBRUksMEJaZnNFO0VZZ0J0RSxZWnZNdUIsRVl5TTFCOztBQUVEOztHQUVHO0FBRUg7RUFDSSx1Qlp6SjhCO0VZMEo5QixZWmpOdUI7RUNrVUssOEJBQThDLEVXL0c3RTs7QUFFRCxtQkFBbUI7QUFDbkI7O0VBRUksMEJaN0J3RTtFWThCeEUsWVp6TnVCLEVZMk4xQjs7QUFFRCxzQkFBc0I7QUFDdEI7O0VBRUksMEJabkMwRTtFWW9DMUUsWVpqT3VCLEVZbU8xQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksMEJabk44QjtFWW9OOUIsWVozT3VCO0VDcVVFLDhCQUE4QyxFV3hGMUU7O0FBRUQsbUJBQW1CO0FBQ25COztFQUVJLDBCWmpEa0U7RVlrRGxFLFlablB1QixFWXFQMUI7O0FBRUQsc0JBQXNCO0FBQ3RCOztFQUVJLDBCWnZEb0U7RVl3RHBFLFlaM1B1QixFWTZQMUI7O0FBRUQ7OztHQUdHO0FBRUg7Ozs7RUFJSSw4QlpuRW9DO0VZb0VwQyxZWjFOcUI7RUN5Uk0sc0JEN01SLEVZZ0p0Qjs7QUFHRDs4RUFDOEU7QUFFOUU7RUFDSSxnQlo1UXNCO0VZNlF0QixrQlovR2dGO0VZZ0hoRixvQlp4TzZCLEVZME9oQzs7QUFFRDtFQUNJLGdCWjVQdUI7RVk2UHZCLGtCWnBIZ0Y7RVlxSGhGLG9CWi9PNkIsRVlpUGhDOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUg7RUFDSSxPQUFPO0VBQ1AsV0FBVTtFQUNWLGlCWmhPb0I7RVlpT3BCLGlCQUFnQjtFQUNoQixPQUFPO0VBQ1AsWVpwVHdCO0VDa1Z4QixtQkFBa0IsRVc1QnJCO0VYOEJHO0lBQ0ksWUFBVztJQUNYLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsUUFBTztJQUNQLFlBQVc7SUFDWCw4QkQxVm9CO0lDMlZwQix3Q0FBK0I7SUFBL0IsZ0NBQStCLEVBQ2xDOztBV3BDTCxtQkFBbUI7QUFDbkI7O0VBRUksWVozVHdCLEVZNlQzQjtFWG9DRzs7SUFBWSxTQUFRLEVBQUk7O0FXbEM1QixjQUFjO0FBQ2Q7RUFDSSxZWjdRcUIsRVkrUXhCO0VYbUNHO0lBQVksY0FBYSxFQUFJOztBV2pDakM7Ozs7R0FJRztBQUVIO0VBQ0ksT0FBTztFQUNQLFdBQVU7RUFDVixpQlo3UG9CO0VZOFBwQixpQkFBZ0I7RUFDaEIsT0FBTztFQUNQLGVoQjVTdUIsRWdCOFMxQjs7QUFFRCxtQkFBbUI7QUFDbkI7O0VBRUksZVpqUTZCO0VZa1E3QiwyQlp0SXlDLEVZdUk1Qzs7QUFFRCxjQUFjO0FBQ2Q7RUFDSSxZWjFTcUI7RVkyU3JCLHNCQUFxQixFQUN4Qjs7QUFHRDs4RUFDOEU7QUFFOUU7Ozs7R0FJRztBQUVIO0VBQ0ksT0FBTztFQUNQLDRCQUFvQjtFQUFwQiw0QkFBb0I7RUFBcEIscUJBQW9CO0VBQ3BCLE9BQU87RUFDUCx1QkFBc0I7RUFDdEIsT0FBTztFQUNQLG1CQUFrQixFQUNyQjs7QVhQRztrRkFDOEU7QUFFOUU7O09BRUc7QUFFSDs7RUFDbUQsa0JEdFA5QixFQ3NQc0U7O0FBRTNGOzs7OztPQUtHO0FBRUg7Ozs7RUFJSSxtQkFBa0I7RUFDbEIsV0FBVSxFQUNiOztBWXRYTDs7OEVBRThFO0FBRTlFOzs7Ozs7O0dBT0c7QUFFSDtFQUNJLE9BQU87RUFDUCx5QkFBd0I7RUFDeEIsT0FBTztFQUNQLHlCQUF3QjtFQUN4QixzQkFBcUI7RUFDckIsT0FBTztFQUNQLGVBQWM7RUFDZCxZQUFXO0VBQ1gsT0FBTztFQUNQLFVBQVM7RUFDVCxPQUFPO0VBQ1AsMEJieEI2QjtFYXlCN0IsT0FBTztFQUNQLG9CYjdDZ0I7RWE4Q2hCLGFidXZCa0I7RUNzL0JsQixxQkQzcUIwQjtFQzRxQjFCLGlCQUFnQixFWTV1RG5COztBQUVELG9DQUFvQztBQUNwQztFQUFtQixpQmJuREMsRWFtRHdDOztBQUU1RDs7R0FFRztBQUVIO0VBQTZCLG1CQUFrQixFQUFJOztBQUVuRDs7O0dBR0c7QUFFSDtFQUNFLDBCYjlDK0I7RUN3d0Q3QixxQkQzcUIwQjtFQzRxQjFCLGlCQUFnQixFWXp0RG5COztBQUVELE9BQU87QUFDUDtFQUFnRCxTQUFRLEVBQUk7O0FBRTVEOzs7R0FHRztBQUVIO0VBQ0ksMEJidEQrQjtFYXVEL0Isb0NBQTJCO0VBQTNCLDRCQUEyQixFQUU5Qjs7QUFFRDtFQUNJLDBCYjVEK0IsRWE4RGxDOztBQUVEO0VBQ0ksMEJiakUrQjtFYWtFL0Isb0NBQTJCO0VBQTNCLDRCQUEyQjtFQUMzQixPQUFPO0VBQ1AsVUFBUyxFQUVaOztBQy9DRDs7OEVBRThFO0FBRTlFOztHQUVHO0FBRUg7RUFDSSxtQkFBa0I7RUFDbEIsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUFFLE9BQU87RUFDL0Isa0JkcUR1QjtFY3BEdkIscUJkb0R1QixFY2xEMUI7O0FBRUQsd0JBQXdCO0FBQ3hCO0VBVEE7SUFZUSxrQmRuQmtCO0ljb0JsQixxQmRwQmtCLEVjcUJyQixFQUFBOztBQUlMOztHQUVHO0FBRUg7RUFBNEIsaUJBQWdCLEVBQUk7O0FBR2hEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVIO0VBQ0ksa0JkeEZnQjtFY3lGaEIscUJkekZnQixFYzBGbkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLGtCZGN1QjtFY2J2QixxQmRhdUIsRWNaMUI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLGtCZDFEc0I7RWMyRHRCLHFCZDNEc0IsRWM0RHpCOztBQUVELGlDQUFpQztBQUNqQztFQU5BO0lBU1EsbUJkc2ZvQjtJY3JmcEIsc0JkcWZvQixFY3BmdkIsRUFBQTs7QUFLTDs7R0FFRztBQUVIO0VBQ0ksbUJkMGV3QjtFY3pleEIsc0JkeWV3QixFY3hlM0I7O0FBRUQsaUNBQWlDO0FBQ2pDO0VBTkE7SUFTUSxtQmR3c0IwRTtJY3ZzQjFFLHNCZHVzQjBFLEVjdHNCN0UsRUFBQTs7QUFLTDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSDtFQUNJLGlCZHhGb0IsRWMwRnZCOztBQUVEOztHQUVHO0FBRUg7RUFDSSxvQmQzSTZCLEVjNkloQzs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksb0JkL0krQixFY2lKbEM7O0FBTUQ7O0dBRUc7QUFFSDtFQUNJLGlCZG5IOEIsRWNxSGpDOztBQU1EOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUNwS0g7OzhFQUU4RTtBQUU5RTs7O0dBR0c7QUFFSDtFQUNJLG1CQUFrQjtFQUNsQixPQUFPO0VBQ1AsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixrQmZvUXdCO0VlblF4QixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CZnNRK0I7RWVyUS9CLG9CZnFRK0IsRWVwUWxDOztBQUVELGdDQUFnQztBQUNoQztFQVpBO0lBZVEsbUJmbEJZO0llbUJaLG9CZm5CWSxFZW9CZixFQUFBOztBQUlMLGlDQUFpQztBQUNqQztFQXRCQTtJQXlCUSxtQmZ6Qm1CO0llMEJuQixvQmYxQm1CLEVlMkJ0QixFQUFBOztBQUlMOztHQUVHO0FBRUg7RUFBOEIsaUJBQWdCLEVBQUk7O0FBRWxEOztHQUVHO0FBRUg7RUFDSSxnQkFBZTtFQUNmLGlCQUFnQixFQUNuQjs7QUFHRDs4RUFDOEU7QUFFOUU7RUFBdUIsaUJmdU5XLEVldk4rQjs7QUFFakU7RUFBc0IsaUJmc05XLEVldE44Qjs7QUFFL0Q7RUFBc0Isa0JmcU5ZLEVlck42Qjs7QUFFL0Q7RUFBdUIsa0Jmb05ZLEVlcE44Qjs7QUFFakU7RUFBdUIsZ0JBQWUsRUFBSTs7QUFHMUM7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7RUFBNEIsZUFBYyxFQUFJOztBQUM5QztFQUE2QixnQkFBZSxFQUFJOztBQUVoRCxnQ0FBZ0M7QUFDaEM7RUFFSTs7SUFDaUQsMENBQTJHLEVBQUk7RUFFaEs7O0lBQ2dELDBDQUEwRyxFQUFJLEVBQUE7O0FBSWxLLGlDQUFpQztBQUNqQztFQUVJOztJQUM2QiwyQ0FBb0csRUFBSTtFQVpySTs7SUFlaUQsMENBQTJHLEVBQUk7RUFaaEs7O0lBZWdELDBDQUEwRyxFQUFJO0VBRTlKOztJQUNnRCwyQ0FBMEcsRUFBSTtFQUU5Sjs7SUFDaUQsMkNBQTJHLEVBQUksRUFBQTs7QUFLcEs7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVIOztFQUMwQyx5QkFBK0QsRUFBRzs7QUFFNUc7RUFBeUMsbUJmMkpOLEVlM0p1RDs7QUFDMUY7RUFBMEMsb0JmMEpQLEVlMUp5RDs7QUFFNUYsZ0NBQWdDO0FBQ2hDO0VBUEE7O0lBVThDLHlCQUFpRSxFQUFHO0VBUGxIO0lBUzZDLG1CZjlIekIsRWU4SDRFO0VBUmhHO0lBUzhDLG9CZi9IMUIsRWUrSDhFLEVBQUE7O0FBSWxHLGlDQUFpQztBQUNqQztFQWxCQTs7SUFxQjhDLHlCQUFpRSxFQUFHO0VBbEJsSDtJQW9CNkMsbUJmdElsQixFZXNJcUU7RUFuQmhHO0lBb0I4QyxvQmZ2SW5CLEVldUl1RSxFQUFBOztBQzdIbEc7OzhFQUU4RTtBQUU5RTtFQUNJLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixtQmhCcTVCMEI7RWdCcDVCMUIsb0JoQm81QjBCO0VnQm41QjFCLGtCaEJvRHVCO0VnQm5EdkIscUJoQm1EdUIsRWdCakQxQjs7QUFFRCxnQ0FBZ0M7QUFDaEM7RUFaQTtJQWVRLG1CaEJoQ1k7SWdCaUNaLG9CaEJqQ1ksRWdCa0NmLEVBQUE7O0FBSUwsaUNBQWlDO0FBQ2pDO0VBdEJBO0lBeUJRLG1CaEJ2Q21CO0lnQndDbkIsb0JoQnhDbUI7SWdCeUNuQixrQmhCaENrQjtJZ0JpQ2xCLHFCaEJqQ2tCLEVnQmtDckIsRUFBQTs7QUFJTDs7R0FFRztBQUVIO0VBQXlCLGlCQUFnQixFQUFJOztBQUc3Qzs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSDtFQUNJLGtCaEJyR2dCO0VnQnNHaEIscUJoQnRHZ0IsRWdCdUduQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksa0JoQkN1QjtFZ0JBdkIscUJoQkF1QixFZ0JDMUI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLGtCaEJ2RXNCO0VnQndFdEIscUJoQnhFc0IsRWdCeUV6Qjs7QUFFRCxpQ0FBaUM7QUFDakM7RUFOQTtJQVNRLG1CaEJ5ZW9CO0lnQnhlcEIsc0JoQndlb0IsRWdCdmV2QixFQUFBOztBQUtMOztHQUVHO0FBRUg7RUFDSSxtQmhCNmR3QjtFZ0I1ZHhCLHNCaEI0ZHdCLEVnQjNkM0I7O0FBRUQsaUNBQWlDO0FBQ2pDO0VBTkE7SUFTUSxtQmhCcTBCdUU7SWdCcDBCdkUsc0JoQm8wQnVFLEVnQm4wQjFFLEVBQUE7O0FBS0w7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7RUFDSSxpQmhCckdvQixFZ0J1R3ZCOztBQUVEOztHQUVHO0FBRUg7RUFDSSxvQmhCeEo2QixFZ0IwSmhDOztBQUVEOztHQUVHO0FBRUg7RUFDSSxvQmhCNUorQixFZ0I4SmxDOztBQU1EOztHQUVHO0FBRUg7RUFDSSxpQmhCaEk4QixFZ0JrSWpDOztBQzlHRDs7OEVBRThFO0FBRTlFO0VBQ0ksbUJBQWtCO0VBQ2xCLCtCQUFzQjtVQUF0Qix1QkFBc0I7RWhCMmFOLHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDZFQUF1QyxFZ0J6YTFEOztBQUdEOzhFQUM4RTtBQUU5RTtFQUNJLG1CQUFrQjtFQUNsQixtQmpCakVnQixFaUJtRW5COztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLG1CakJ2RWdCLEVpQnlFbkI7O0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsbUJqQjdFZ0IsRWlCK0VuQjs7QUFFRCx3QkFBd0I7QUFDeEI7RUFuQkE7SUFxQm9CLG1CakJqRk8sRWlCaUZtRTtFQWY5RjtJQWlCc0IsbUJqQm5GSyxFaUJtRnlFO0VBWHBHO0lBYXNCLG1CakJyRkssRWlCcUZ5RSxFQUFBOztBQUlwRzs7R0FFRztBQUVIOzs7RUFFZ0MsaUJBQWdCLEVBQUk7O0FBR3BEOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUF5Qkg7OEVBQzhFO0FBRTlFO0VBQ0ksa0JqQnBEMkI7RWlCcUQzQixpQmpCaUZ3QixFaUIvRTNCOztBQUdEOzhFQUM4RTtBQUU5RTtFQUNJLG1CQUFrQjtFQUNsQixVakJuSmdCO0VpQm9KaEIsWWpCcEpnQjtFaUJxSmhCLFdBQVUsRUFFYjs7QUFFRDs7R0FFRztBQUVIO0VBQWlDLGNBQWEsRUFBSTs7QUFHbEQ7OEVBQzhFO0FBRTlFO0VBQ0ksaUJqQjNJb0I7RUNvZEUsb0REaWdCNEI7VUNqZ0I1Qiw0Q0RpZ0I0QixFaUJ4MEJyRDs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBWlc7RUFlVixpQmpCekpvQjtFaUIwSnBCLFlqQmhOZTtFQzJnQlMsbUREK2YwQjtVQy9mMUIsMkNEK2YwQixFaUJ4ekJyRDs7QUFFRDtFQUNJLFlqQnZOd0IsRWlCeU4zQjs7QUFFRDtFQUNJLHVCakJwS29CO0VDdWRVLG9ERDhmb0I7VUM5ZnBCLDRDRDhmb0IsRWlCL3lCckQ7O0FBRUQ7RWhCZ1RtQyxpQ0RoWlosRWlCa0d0Qjs7QUFFRDtFaEI2U21DLDhCRGpaWixFaUJzR3RCOztBQUVEOztHQUVHO0FBeENpQztFQTJDaEMsb0JqQjFOK0I7RWlCMk4vQixZakJ6T3VCO0VDNmdCQyxtREQwZjBCO1VDMWYxQiwyQ0QwZjBCLEVpQjV4QnJEOztBQUVEO0VBQ0ksWWpCOU91QixFaUJnUDFCOztBQUVEO0VBQ0ksMEJqQnJPK0I7RUNpZ0JELG9ERHlmb0I7VUN6ZnBCLDRDRHlmb0IsRWlCbnhCckQ7O0FBUUQ7O0dBRUc7QUFsRXVEO0VBcUV0RCxpQmpCM004QjtFaUI0TTlCLFlqQm5RdUI7RUNnaEJHLG1ERHVmd0I7VUN2ZnhCLDJDRHVmd0IsRWlCbHdCckQ7O0FBRUQ7RUFDSSxZakJ4UXVCLEVpQjBRMUI7O0FBRUQ7RUFDSSx1QmpCdE44QjtFQzJkRSxvRERzZmtCO1VDdGZsQiw0Q0RzZmtCLEVpQnp2QnJEOztBQVNEOzhFQUM4RTtBQUU5RTs7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QUk7RURnRHJDO0lDL0N1QixXQUFVLEVBQUk7RUFFakMsWUFBWTtFRGdEaEI7SUMvQ3VCLDhCQUF3QyxFQUFJO0VEZ0RuRTtJQy9DdUIsOEJBQXdDLEVBQUk7RUFFL0QsV0FBVztFRGdEZjtJQy9DeUIsYTFEbXhCSixFMERueEJpQztFRGdEdEQ7SUMvQzBCLGExRG14QkosRTBEbnhCa0M7RURnRHhEO0lDL0N5QixhMURteEJKLEUwRG54QmlDO0VEZ0R0RDtJQy9DMEIsYTFEbXhCSixFMERueEJrQztFRGdEeEQ7SUMvQzJCLGExRG14QkosRTBEbnhCbUM7RUFLdEQsVUFBVTtFRGdEZDtJQy9Dd0IsWUFBVyxFQUFJO0VBRW5DLFlBQVk7RURnRGhCO0lDOUNRLG9CQUFPO1FBQVAsWUFBTztZQUFQLFFBQU87SUFDUCxlQUFjLEVBQ2pCLEVBQUE7O0FBSUwsNkJBQTZCO0FBQzdCO0VBRUksV0FBVztFRGdEZjtJQy9Dd0IsWUFBVyxFQUFJO0VBRW5DLFlBQVk7RURnRGhCO0lDL0N3QixXQUFVLEVBQUk7RUFFbEMsWUFBWTtFRGdEaEI7SUMvQ3dCLDhCQUF3QyxFQUFJO0VEZ0RwRTtJQy9Dd0IsOEJBQXdDLEVBQUk7RUFFaEUsY0FBYztFRGdEbEI7SUMvQ3dCLFdBQVUsRUFBSTtFRGdEdEM7SUMvQ3dCLFdBQVUsRUFBSTtFQUVsQyxZQUFZO0VEZ0RoQjtJQy9Dd0IsV0FBVSxFQUFJO0VEZ0R0QztJQy9Dd0IsV0FBVSxFQUFJO0VEZ0R0QztJQy9Dd0IsV0FBVSxFQUFJO0VEZ0R0QztJQy9Dd0IsV0FBVSxFQUFJO0VBRWxDLFlBQVk7RURnRGhCO0lDL0N3Qiw4QkFBd0MsRUFBSTtFRGdEcEU7SUMvQ3dCLDhCQUF3QyxFQUFJO0VBRWhFLFdBQVc7RURnRGY7SUMvQzBCLGExRG11QkwsRTBEbnVCa0M7RURnRHZEO0lDL0MyQixhMURtdUJMLEUwRG51Qm1DO0VEZ0R6RDtJQy9DMEIsYTFEbXVCTCxFMERudUJrQztFRGdEdkQ7SUMvQzJCLGExRG11QkwsRTBEbnVCbUM7RURnRHpEO0lDL0M0QixhMURtdUJMLEUwRG51Qm9DO0VBS3ZELFVBQVU7RURnRGQ7SUMvQ3lCLFlBQVcsRUFBSTtFQUVwQyxZQUFZO0VEZ0RoQjtJQzlDUSxvQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPO0lBQ1AsZUFBYyxFQUNqQixFQUFBOztBQ2pUVDs7OEVBRThFO0FsRXlpUDlFO0VrRXZpUHVCLCtCQUFzQjtVQUF0Qix1QkFBc0IsRUFBSTs7QUFFakQ7O0dBRUc7QUFFSDtFQUFpQixhQUFZLEVBQUk7O0FBRWpDOztHQUVHO0FBRUg7RUFBc0Isa0JBQWlCLEVBQUk7O0FBRTNDOzs7R0FHRztBQUVIO0VBQW1CLGMzRHVkUSxFMkR2ZHdCOztBQUNuRDtFQUFvQixjM0R1ZFEsRTJEdmR5Qjs7QUFDckQ7RUFBbUIsYzNEdWRRLEUyRHZkd0I7O0FBRW5EO0VBQXVCLGtCM0RtZEksRTJEbmRnQzs7QUFDM0Q7RUFBd0Isa0IzRG1kSSxFMkRuZGlDOztBQUM3RDtFQUF1QixrQjNEbWRJLEUyRG5kZ0M7O0FDVDNEOzs4RUFFOEU7QUFHOUU7OEVBQzhFO0FBRTlFO0VBQ0ksa0I1RDJFMkI7RTREMUUzQixpQjVEdTRCdUI7RTREdDRCdkIsWTVEMUN3QixFNEQ0QzNCOztBQUVEO0VBQ0ksb0I1REU2QjtFNEREN0IsaUI1RG00QnVCO0U0RGw0QnZCLFk1REdxQixFNEREeEI7RTNEcThERztJQUFJLFlEcDhEaUIsRUNvOERlO0VBRXBDO0lBQ0ksWUR6L0RXO0lDMC9EWCxzQkFBcUIsRUFDeEI7O0EyRHY4REw7OEVBQzhFO0FBRTlFO0VBQ0ksb0I1RFQ2QjtFNERVN0IsaUI1RDIzQndCLEU0RHozQjNCOztBQUVEO0VBQ0ksa0I1RG1EMkI7RTREbEQzQixpQjVEdTNCd0IsRTREcjNCM0I7O0FBRUQ7RUFDSSxnQjVEU21CO0U0RFJuQixpQjVEVW9CLEU0RFR2Qjs7QUFHRDs4RUFDOEU7QUFFOUU7RUFBaUIsaUJBQWdCLEVBQUk7O0FBQ3JDO0VBQWtCLGlCQUFnQixFQUFJOztBQUN0QztFQUFnQixpQkFBZ0IsRUFBSTs7QUFFcEM7RUFBbUIscUJBQW9CLEVBQUk7O0FBQzNDO0VBQWtCLG9CQUFtQixFQUFJOztBQUd6Qzs4RUFDOEU7QUFFOUU7RUFBa0IsbUJBQWtCLEVBQUk7O0FBR3hDOzhFQUM4RTtBQUU5RTtFQUFzQixzQ0FBcUMsRUFBSTs7QUFDL0Q7RUFBcUIscUNBQW9DLEVBQUk7O0FBQzdEO0VBQXFCLHFDQUFvQyxFQUFJOztBQUc3RDs4RUFDOEU7QUFFOUU7RUFBaUIsdUJBQW1DLEVBQUk7O0FBQ3hEO0VBQW9CLHVCQUFzQyxFQUFJOztBQUM5RDtFQUFtQiwwQkFBcUMsRUFBSTs7QUFDNUQ7RUFBcUIsdUJBQXVDLEVBQUk7O0FBQ2hFO0VBQW1CLDBCQUFxQyxFQUFJOztBQUM1RDtFQUFtQiwwQkFBcUMsRUFBSTs7QUFDNUQ7RUFBa0IsMEJBQW9DLEVBQUk7O0FBRzFEOzhFQUM4RTtBQUU5RTs7Ozs7R0FLRztBQUVIO0VBQ0ksT0FBTztFQUNQLDhCQUE2QjtFQUM3QixPQUFPO0VBQ1Asc0JBQXFCO0VBQ3JCLE9BQU87RUFDUCwwQkFBd0MsRUFDM0M7O0FBRXdDO0VBVHpDO0lBWVEsMEI1RG5IMkI7STREb0gzQiw4QkFBNkIsRUFFaEMsRUFBQTs7QUFLTDs4RUFDOEU7QUFFOUU7RUFBZ0IsNEJBQTJCLEVBQUk7O0FBQy9DO0VBQWlCLDZCQUE0QixFQUFJOztBQUNqRDtFQUFrQiw4QkFBNkIsRUFBSTs7QUFDbkQ7RUFBbUIsK0JBQThCLEVBQUk7O0FBRXJELGdDQUFnQztBQUNoQztFQUVJO0lBQW1CLDRCQUEyQixFQUFJO0VBQ2xEO0lBQW9CLDZCQUE0QixFQUFJO0VBQ3BEO0lBQXFCLDhCQUE2QixFQUFJLEVBQUE7O0FBSTFELGlDQUFpQztBQUNqQztFQUVJO0lBQW1CLDRCQUEyQixFQUFJO0VBQ2xEO0lBQW9CLDZCQUE0QixFQUFJO0VBQ3BEO0lBQXFCLDhCQUE2QixFQUFJLEVBQUE7O0FBSTFELHdCQUF3QjtBQUN4QjtFQUVJO0lBQW1CLDRCQUEyQixFQUFJO0VBQ2xEO0lBQW9CLDZCQUE0QixFQUFJO0VBQ3BEO0lBQXFCLDhCQUE2QixFQUFJLEVBQUE7O0FBSTFELDZCQUE2QjtBQUM3QjtFQUVJO0lBQW9CLDRCQUEyQixFQUFJO0VBQ25EO0lBQXFCLDZCQUE0QixFQUFJO0VBQ3JEO0lBQXNCLDhCQUE2QixFQUFJLEVBQUE7O0FBSTNEOztHQUVHO0FBRUg7RUFBZSwrQkFBOEIsRUFBSTs7QUFDakQ7RUFBa0Isa0NBQWlDLEVBQUk7O0FBQ3ZEO0VBQWtCLGtDQUFpQyxFQUFJOztBQUN2RDtFQUFvQixvQ0FBbUMsRUFBSTs7QUFHM0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7RUFBa0Isb0JBQW1CLEVBQUk7O0FBRXpDOzs7O0dBSUc7QUFFSDtFQUNJLE9BQU87RUFDUCxnQkFBZTtFQUNmLE9BQU87RUFDUCxpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG9CQUFtQixFQUN0Qjs7QUFFRCxPQUFPO0FBQ1A7O0VBQ3NCLGFBQVksRUFBSTs7QUFHdEM7Ozs7OztHQU1HO0FBRUg7RUFDSSxPQUFPO0VBQ1AsMEJBQXlCO0VBQ3pCLE9BQU87RUFDUCxzQkFBcUIsRUFDeEI7O0FBRUQsT0FBTztBQUNQOztFQUNtQixzQkFBcUIsRUFBSTs7QUNqTzVDOzs4RUFFOEU7QXBFdXlQOUU7RW9FcnlQd0IseUI3RFVKO0s2RFZJLHNCN0RVSjtVNkRWSSxpQjdEVUosRTZEVmtDOztBQUV0RCx3QkFBd0I7QUFDeEI7RXBFdXlQRTtJb0VyeVAwQix5QjdEUUQ7TzZEUkMsc0I3RFFEO1k2RFJDLGlCN0RRRCxFNkRSaUMsRUFBQTs7QUFJNUQ7O0dBRUc7QXBFcXlQSDtFb0VueVA0Qix3Q0FBNkI7VUFBN0IsZ0NBQTZCLEVBQUk7O0FBRzdEOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVIO0VBQ0ksdUM3RG1GbUI7SzZEbkZuQixvQzdEbUZtQjtVNkRuRm5CLCtCN0RtRm1CO0U2RGxGbkIsT0FBTztFQUNQLHlCQUFnQztLQUFoQyxzQkFBZ0M7VUFBaEMsaUJBQWdDLEVBQ25DOztBQUVELHdCQUF3QjtBQUN4QjtFQVBBO0lBVVEseUJBQWtDO09BQWxDLHNCQUFrQztZQUFsQyxpQkFBa0MsRUFDckMsRUFBQTs7QUFLTDs4RUFDOEU7QUFFOUU7RUFBaUIsd0JBQWU7S0FBZixxQkFBZTtVQUFmLGdCQUFlLEVBQUc7O0FBQ25DO0VBQWlCLHdCQUFlO0tBQWYscUJBQWU7VUFBZixnQkFBZSxFQUFJOztBQUNwQztFQUFpQix3QkFBZTtLQUFmLHFCQUFlO1VBQWYsZ0JBQWUsRUFBSTs7QUFDcEM7RUFBaUIsd0JBQWU7S0FBZixxQkFBZTtVQUFmLGdCQUFlLEVBQUk7O0FBQ3BDO0VBQWlCLHdCQUFlO0tBQWYscUJBQWU7VUFBZixnQkFBZSxFQUFJOztBQUVwQyxnQ0FBZ0M7QUFDaEM7RUFFSTtJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSSxFQUFBOztBQUkzQyxpQ0FBaUM7QUFDakM7RUFFSTtJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSSxFQUFBOztBQUkzQyx3QkFBd0I7QUFDeEI7RUFFSTtJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN2QztJQUFvQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSSxFQUFBOztBQUkzQyw2QkFBNkI7QUFDN0I7RUFFSTtJQUFxQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN4QztJQUFxQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN4QztJQUFxQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN4QztJQUFxQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSTtFQUN4QztJQUFxQix3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFBSSxFQUFBOztBQUk1Qzs7OEVBRThFO0FBRTlFO0VBQWtCLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCLEVBQUk7O0FDaEh0Qzs7OEVBRThFO0FBRTlFOzs7Ozs7R0FNRztBQUVIO0VBQ0ksT0FBTztFQUNQLGdCQUFlO0VBQ2YsT0FBTztFQUNQLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsU0FBUTtFQUNSLHlDQUErQjtVQUEvQixpQ0FBK0IsRUFDbEM7O0FBRUQ7RUFBa0IscUJBQW9CLEVBQUk7O0FBRzFDOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSDtFQUNJLE9BQU87RUFDUCxpQkFBZ0I7RUFDaEIsT0FBTztFQUNQLG1CQUFrQixFQUNyQjs7QUMvQkQ7OzhFQUU4RTtBQUc5RTs4RUFDOEU7QUFFOUU7RUFBeUIsdUIvRG9DRCxFK0RwQ3FEOztBQUM3RTtFQUF1QiwwQi9EUFUsRStET3dDOztBQUN6RTtFQUF5QiwwQi9ESFUsRStERzBDOztBQUM3RTtFQUEyQix1Qi9EcUNPLEUrRHJDK0M7O0FBR2pGOzhFQUM4RTtBQUU5RTs7RUFFSSw2QkFBNEI7RUFDNUIsNkJBQTRCLEVBQy9COztBQUVEO0VBQXVCLHVCQUFzQixFQUFJOztBQUNqRDtFQUF5Qix5QkFBd0IsRUFBSTs7QUFHckQ7OEVBQzhFO0FBRTlFO0VBQTBCLHlCQUF3QixFQUFJOztBQUN0RDtFQUE0QiwyQkFBMEIsRUFBSTs7QUFDMUQ7RUFBMkIsNEJBQTJCLEVBQUk7O0FBQzFEO0VBQTZCLDJCQUEwQixFQUFJOztBQUMzRDtFQUErQiw2QkFBNEIsRUFBSTs7QUFDL0Q7RUFBOEIsOEJBQTZCLEVBQUk7O0FBQy9EO0VBQTZCLDRCQUEyQixFQUFJOztBQUM1RDtFQUErQiw4QkFBNkIsRUFBSTs7QUFDaEU7RUFBOEIsK0JBQThCLEVBQUk7O0FBR2hFOzhFQUM4RTtBQUU5RTtFQUEwQiw2QkFBNEIsRUFBSTs7QUFHMUQ7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7RUFDSSw2QkFBNEI7RUFDNUIsT0FBTztFQUNQLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFDOUI7O0FBRUQ7O0dBRUc7QUFFSDtFQVZBO0lBVzJCLDhCQUE2QixFQUFJLEVBQUE7O0FBSTVEOzhFQUM4RTtBQUU5RSxnQ0FBZ0M7QUFDaEM7RUFFSTtJQUEwQixrQ0FBaUMsRUFBSSxFQUFBOztBQUluRSxpQ0FBaUM7QUFDakM7RUFFSTtJQUEwQixrQ0FBaUMsRUFBSSxFQUFBOztBQUluRSxrQ0FBa0M7QUFDbEM7RUFFSTtJQUEwQixrQ0FBaUMsRUFBSSxFQUFBOztBQUluRSx5QkFBeUI7QUFDekI7RUFFSTtJQUEwQixrQ0FBaUMsRUFBSSxFQUFBOztBQUtuRTs4RUFDOEU7QUFFOUU7RUFBZ0MsZ0NBQStCLEVBQUk7O0FBQ25FO0VBQThCLDhCQUE2QixFQUFJOztBQUMvRDtFQUErQiwrQkFBOEIsRUFBSTs7QUFDakU7RUFBOEIsOEJBQTZCLEVBQUk7O0FBQy9EO0VBQStCLCtCQUE4QixFQUFJOztBQUNqRTtFQUFtQyxtQ0FBa0MsRUFBSTs7QUFDekU7RUFBa0Msa0NBQWlDLEVBQUk7O0FBQ3ZFO0VBQWtDLGtDQUFpQyxFQUFJOztBQUN2RTtFQUFrQyxrQ0FBaUMsRUFBSTs7QUFDdkU7RUFBa0Msa0NBQWlDLEVBQUk7O0FBQ3ZFO0VBQWlDLGlDQUFnQyxFQUFJOztBQUNyRTtFQUEyQiwyQkFBMEIsRUFBSTs7QUFDekQ7RUFBa0Msa0NBQWlDLEVBQUk7O0FBQ3ZFO0VBQTZCLDZCQUE0QixFQUFJOztBQUM3RDtFQUFrQyxrQ0FBaUMsRUFBSTs7QUNwSHZFOzs4RUFFOEU7QUFFOUU7O0dBRUc7QXZFNGtRSDtFdUV6a1FJLGVBQWM7RUFDZCxvQmhFT2dCLEVnRU5uQjs7QUFFRDtFQUEwQixpQmhFSU4sRWdFSjRDOztBQUVoRTs7R0FFRztBQUVIO0VBQ0ksa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNyQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksY0FBYTtFQUNiLG1CaEViZ0I7RWdFY2hCLFlBQVcsRUFDZDs7QUFFRDtFQUNJLGNBQWE7RUFDYixrQmhFbkJnQjtFZ0VvQmhCLGFBQVksRUFDZjs7QUFFRCxnQ0FBZ0M7QUFDaEM7RUFFSTtJQUNJLGNBQWE7SUFDYixtQmhFNUJZO0lnRTZCWixZQUFXLEVBQ2Q7RUFFRDtJQUNJLGNBQWE7SUFDYixrQmhFbENZO0lnRW1DWixhQUFZLEVBQ2YsRUFBQTs7QUFJTCxpQ0FBaUM7QUFDakM7RUFFSTtJQUNJLGNBQWE7SUFDYixtQmhFN0NZO0lnRThDWixZQUFXLEVBQ2Q7RUFFRDtJQUNJLGNBQWE7SUFDYixrQmhFbkRZO0lnRW9EWixhQUFZLEVBQ2YsRUFBQTs7QUFJTCx3QkFBd0I7QUFDeEI7RUFFSTtJQUNJLGNBQWE7SUFDYixZQUFXLEVBQ2Q7RUFFRDtJQUNJLGNBQWE7SUFDYixhQUFZLEVBQ2Y7RUFFRDs7OztJQUdvQixtQmhFdEVHLEVnRXNFeUM7RUFFaEU7Ozs7SUFHcUIsa0JoRTNFRSxFZ0UyRXlDLEVBQUE7O0FBSXBFLDZCQUE2QjtBQUM3QjtFQUVJO0lBQ0ksY0FBYTtJQUNiLG1CaEVwRm1CO0lnRXFGbkIsWUFBVyxFQUNkO0VBRUQ7SUFDSSxjQUFhO0lBQ2Isa0JoRTFGbUI7SWdFMkZuQixhQUFZLEVBQ2YsRUFBQTs7QUMzSEw7OzhFQUU4RTtBQUU5RTs7O0dBR0c7QUFFSCxPQUFPO0FBQ1A7O0VBRTBELG1CQUFrQixFQUFJOztBQUNoRjtFQUE0RCxxQkFBb0IsRUFBSTs7QUFFcEY7O0dBRUc7QUFFSDtFQUFVLG1DQUF5QjtVQUF6QiwyQkFBeUIsRUFBSTs7QUM4QnZDOzs4RUFFOEU7QUFHOUU7OEVBQzhFO0FBRTlFO0VBQ0ksbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQiwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQ3pCOztBQUVEOztHQUVHO0FBRUg7RUFBMEIsaUJBQWdCLEVBQUk7O0FBRzlDOztHQUVHO0FBRUg7RUFDSSxjbEVpNkIyQjtFa0VoNkIzQixjbEVpNkIyQjtFa0VoNkIzQiwwQmxFZ0RtQjtFa0UvQ25CLGVBQWM7RUFDZCxrQ0FBaUM7RUFDakMsYUFBWSxFQUVmOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUgsT0FBTztBQUNQO0VBQ0ksWUFBVztFQUNYLG9CQUFtQixFQUN0Qjs7QUFFRCxPQUFPO0FBQ1A7RUFDSSxZQUFXO0VBQ1gsZUFBYztFQUNkLFlBQVcsRUFDZDs7QUFHRDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSDtFQUFpQixZQUFXLEVBQUk7O0FBQ2hDO0VBQWtCLGFBQVksRUFBSTs7QUFFbEMsT0FBTztBekVvb1FQO0V5RW5vUXVCLGdCQUFlLEVBQUk7O0FBRzFDOzhFQUM4RTtBQUU5RTtFQUFzQixpQkFBZ0IsRUFBSTs7QUFFMUM7OztHQUdHO0FBRUg7RUFDSSxlQUFjO0VBQ2Qsa0NBQWlDLEVBQ3BDOztBQUVEO0VBQWtDLGlCQUFnQixFQUFJOztBQUd0RDs4RUFDOEU7QUFFOUU7RUFBYSxhQUFZLEVBQUk7O0FBQzdCO0VBQXNCLGlCQUFnQixFQUFJOztBQUcxQzs4RUFDOEU7QUFFOUU7RUFBb0IsMEJBQXlCLEVBQUk7O0FBQ2pEO0VBQXFCLDJCQUEwQixFQUFJOztBQUNuRDtFQUEyQixpQ0FBZ0MsRUFBSTs7QUFHL0Q7OEVBQzhFO0FBRTlFOzs7Ozs7OztHQVFHO0F6RXFvUUg7RXlFbG9RSSxPQUFPO0VBQ1Asc0JBQXFCO0VBQ3JCLE9BQU87RUFDUCxtQkFBa0I7RUFDbEIsT0FBTztFQUNQLGdCQUFlO0VBQ2YsT0FBTztFQUNQLHVCQUFzQjtFQUN0QixPQUFPO0VBQ1Asb0NBQW1DLEVBQ3RDOztBQUVEO0VBQ0ksT0FBTztFQUNQLGlCQUFnQixFQUNuQjs7QUFHRDs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUg7Ozs7O0VBSTJCLGdCQUFlLEVBQUk7O0FBRTlDOzs7R0FHRztBQUVIOztFQUN3QiwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUk7O0FBRWxEOzs7R0FHRztBQUVIO0VBQ0ksT0FBTztFQUNQLDJCQUEwQjtFQUMxQixPQUFPO0VBQ1AsYUFBWSxFQUNmOztBQUVEOzs7O0dBSUc7QUFFSDtFQUNJLE9BQU87RUFDUCxpQkFBZ0I7RUFDaEIsT0FBTztFQUNQLFlBQVc7RUFDWCxPQUFPO0VBQ1AsZ0JBQWUsRUFDbEI7O0FBR0Q7OEVBQzhFO0FBRTlFO0VBQW9CLG1CQUFrQixFQUFJOztBQUMxQztFQUFrQixxQkFBb0IsRUFBSTs7QUFDMUM7RUFBcUIsbUJsRTh2QmEsRWtFOXZCbUM7O0FBRXJFOztHQUVHO0FBRUg7RUFBdUMsaUNBQWdDLEVBQUk7O0FBRzNFOzhFQUM4RTtBQUU5RTtFQUF1QixrRGxFMHdCNkI7VWtFMXdCN0IsMENsRTB3QjZCLEVrRTF3Qlc7O0FBQy9EO0VBQXdCLG1EbEUwd0I4QjtVa0Uxd0I5QiwyQ2xFMHdCOEIsRWtFMXdCVzs7QUFDakU7RUFBdUIsb0RsRTB3QitCO1VrRTF3Qi9CLDRDbEUwd0IrQixFa0Uxd0JTOztBQUMvRDtFQUF3QixvRGxFMHdCK0I7VWtFMXdCL0IsNENsRTB3QitCLEVrRTF3QlU7O0FBRWpFOztHQUVHO0F6RW9vUUg7RXlFbG9RaUMsd0RBQXVEO0VBQXZELGdEQUF1RDtFQUF2RCx3Q0FBdUQ7RUFBdkQsNkVBQXVELEVBQUk7O0FBRTVGO0VBQW1DLGtEbEUrdkJpQjtVa0UvdkJqQiwwQ2xFK3ZCaUIsRWtFL3ZCdUI7O0FBQzNFO0VBQW9DLG1EbEUrdkJrQjtVa0UvdkJsQiwyQ2xFK3ZCa0IsRWtFL3ZCdUI7O0FBQzdFO0VBQW1DLG9EbEUrdkJtQjtVa0UvdkJuQiw0Q2xFK3ZCbUIsRWtFL3ZCcUI7O0FBQzNFO0VBQW9DLG9EbEUrdkJtQjtVa0UvdkJuQiw0Q2xFK3ZCbUIsRWtFL3ZCc0I7O0FBRzdFOzhFQUM4RTtBQUU5RTs7Ozs7R0FLRztBQUV3QjtFQUV2QjtJQUNJLHNCQUFxQjtJQUNyQixtQkFBa0I7SUFDbEIsZ0JBQWU7SUFDZix1QkFBc0IsRUFDekI7RUFFRDtJQUNJLFlBQVc7SUFDWCxPQUFPO0lBQ1AsbUJBQWtCO0lBQ2xCLGNsRTRzQnVCO0lrRTNzQnZCLFFBQU87SUFDUCxTQUFRO0lBQ1IsT0FBTztJQUNQLGFsRXdzQnVCO0lrRXZzQnZCLG9CbEV3c0I4QjtJa0V2c0I5QixpQmxFd3NCMkI7SWtFdnNCM0IsMkJBQXFDO1lBQXJDLG1CQUFxQyxFQUV4QztFQUVELE9BQU87RUFDUDtJQUE0QixtQkFBa0IsRUFBSSxFQUFBOztBQUt0RDs4RUFDOEU7QUFFOUU7Ozs7Ozs7R0FPRztBQUVIOztFQUdJLGVBQWM7RUFDZCxtQmxFK3FCdUI7RWtFOXFCdkIsWUFBVztFQUNYLGlCbEU4cUJpRDtFa0U3cUJqRCxlQUFjO0VqRXd2RGQsb0JBQW1CLEVpRXR2RHRCOztBQUVELE9BQU87QUFDUDtFQVpBOztJQWVnRCxpQkFBZ0IsRUFBSSxFQUFBOztBQUlwRSxPQUFPO0FBQ3dCO0VBRTdCO0lBQThDLGVBQWMsRUFBSSxFQUFBOztBQUtsRTs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSDtFQUNJLGtCbEV0UDJCO0VrRXVQM0IsbU1sRTlSc007RWtFK1J0TSxZbEV6V2U7RWtFMFdmLE9BQU87RUFDUCxzQkFBcUIsRUFFeEI7O0FBRUQsbUJBQW1CO0FBQ25COztFQUVJLFlsRWxYZTtFa0VtWGYsY0FBYTtFQUNiLE9BQU87RUFDUCxzQkFBcUIsRUFFeEI7O0FBRUQ7RUFBbUIsY0FBYSxFQUFJOztBQUdwQzs4RUFDOEU7QUFFOUU7RUFBZSxxQkFBb0IsRUFBSTs7QUFHdkM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVIOztFQUVhLGFBQVksRUFBSTs7QUFFN0IsT0FBTztBQUNQO0VBQWtCLHFCQUFvQixFQUFJOztBQUcxQzs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSDtFQUFlLHNEbEVvbUJxQztVa0VwbUJyQyw4Q2xFb21CcUMsRWtFcG1CRDs7QUFHbkQ7OEVBQzhFO0FBRTlFO0VBQXFCLHlCQUF3QixFQUFJOztBQUNqRDtFQUFtQix1QkFBc0IsRUFBSTs7QUFDN0M7RUFBb0Isd0JBQXVCLEVBQUk7O0FBQy9DO0VBQW1CLHVCQUFzQixFQUFJOztBQUM3QztFQUFvQix3QkFBdUIsRUFBSTs7QUFDL0M7RUFBd0IsNEJBQTJCLEVBQUk7O0FBQ3ZEO0VBQXVCLDJCQUEwQixFQUFJOztBQUNyRDtFQUF1QiwyQkFBMEIsRUFBSTs7QUFDckQ7RUFBdUIsMkJBQTBCLEVBQUk7O0FBQ3JEO0VBQXVCLDJCQUEwQixFQUFJOztBQUNyRDtFQUFzQiwwQkFBeUIsRUFBSTs7QUFDbkQ7RUFBZ0Isb0JBQW1CLEVBQUk7O0FBQ3ZDO0VBQXVCLDJCQUEwQixFQUFJOztBQUNyRDtFQUFrQixzQkFBcUIsRUFBSTs7QUFDM0M7RUFBdUIsMkJBQTBCLEVBQUk7O0FBR3JEOzZFQUM2RTtBQUU3RTtFQUF1Qix5Q0FBZ0M7VUFBaEMsaUNBQWdDLEVBQUk7O0FBRzNEOzZFQUM2RTtBQUU3RTtFQUFnQyw4QkFBcUI7VUFBckIsc0JBQXFCLEVBQUk7O0FBQ3pEO0VBQWtDLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFBSTs7QUFDN0Q7RUFBaUMsaUNBQXdCO1VBQXhCLHlCQUF3QixFQUFJOztBQUM3RDtFQUFtQyxnQ0FBdUI7VUFBdkIsd0JBQXVCLEVBQUk7O0FBQzlEO0VBQW9DLG1DQUEwQjtVQUExQiwyQkFBMEIsRUFBSTs7QUFDbEU7RUFBbUMsaUNBQXdCO1VBQXhCLHlCQUF3QixFQUFJOztBQUMvRDtFQUFxQyxtQ0FBMEI7VUFBMUIsMkJBQTBCLEVBQUk7O0FBQ25FO0VBQW9DLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFBSTs7QUMvYm5FOzs4RUFFOEU7QUFFOUU7RUFBVyxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUFJOztBQUM1QjtFQUFrQiw0QkFBb0I7RUFBcEIsNEJBQW9CO0VBQXBCLHFCQUFvQixFQUFJOztBQUUxQzs7R0FFRztBQUVIOzs7O0VBR3lCLGNBQWEsRUFBSTs7QUFHMUM7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUdIO0VBQWdCLHdCQUEyQjtNQUEzQixxQkFBMkI7VUFBM0IsNEJBQTJCLEVBQUk7O0FBQy9DO0VBQWtCLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBQUk7O0FBQzdDO0VBQWlCLHNCQUF5QjtNQUF6QixtQkFBeUI7VUFBekIsMEJBQXlCLEVBQUk7O0FBQzlDO0VBQW1CLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCLEVBQUk7O0FBQ3JEO0VBQWtCLDBCQUE2QjtNQUE3Qiw4QkFBNkIsRUFBSTs7QUFHbkQsZ0NBQWdDO0FBQ2hDO0VBRUk7SUFBbUIsd0JBQTJCO1FBQTNCLHFCQUEyQjtZQUEzQiw0QkFBMkIsRUFBSTtFQUNsRDtJQUFxQix5QkFBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUFJO0VBQ2hEO0lBQW9CLHNCQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCLEVBQUk7RUFDakQ7SUFBc0IsMEJBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEIsRUFBSTtFQUN4RDtJQUFxQiwwQkFBNkI7UUFBN0IsOEJBQTZCLEVBQUksRUFBQTs7QUFJMUQsaUNBQWlDO0FBQ2pDO0VBRUk7SUFBbUIsd0JBQTJCO1FBQTNCLHFCQUEyQjtZQUEzQiw0QkFBMkIsRUFBSTtFQUNsRDtJQUFxQix5QkFBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUFJO0VBQ2hEO0lBQW9CLHNCQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCLEVBQUk7RUFDakQ7SUFBc0IsMEJBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEIsRUFBSTtFQUN4RDtJQUFxQiwwQkFBNkI7UUFBN0IsOEJBQTZCLEVBQUksRUFBQTs7QUFJMUQsd0JBQXdCO0FBQ3hCO0VBRUk7SUFBbUIsd0JBQTJCO1FBQTNCLHFCQUEyQjtZQUEzQiw0QkFBMkIsRUFBSTtFQUNsRDtJQUFxQix5QkFBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUFJO0VBQ2hEO0lBQW9CLHNCQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCLEVBQUk7RUFDakQ7SUFBc0IsMEJBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEIsRUFBSTtFQUN4RDtJQUFxQiwwQkFBNkI7UUFBN0IsOEJBQTZCLEVBQUksRUFBQTs7QUFJMUQsNkJBQTZCO0FBQzdCO0VBRUk7SUFBb0Isd0JBQTJCO1FBQTNCLHFCQUEyQjtZQUEzQiw0QkFBMkIsRUFBSTtFQUNuRDtJQUFzQix5QkFBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUFJO0VBQ2pEO0lBQXFCLHNCQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCLEVBQUk7RUFDbEQ7SUFBdUIsMEJBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEIsRUFBSTtFQUN6RDtJQUFzQiwwQkFBNkI7UUFBN0IsOEJBQTZCLEVBQUksRUFBQTs7QUFJM0Q7OztHQUdHO0FBR0g7RUFBbUIsMkJBQW9CO01BQXBCLHdCQUFvQjtVQUFwQixxQkFBb0IsRUFBSTs7QUFDM0M7RUFBZSx5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQUFJOztBQUMxQztFQUFrQiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQUFJOztBQUN6QztFQUFrQix1QkFBcUI7TUFBckIsb0JBQXFCO1VBQXJCLHNCQUFxQixFQUFJOztBQUczQzs4RUFDOEU7QUFHOUU7RUFBZSwrQkFBbUI7RUFBbkIsOEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFBSTs7QUFDdEM7RUFBdUIsK0JBQTJCO0VBQTNCLCtCQUEyQjtNQUEzQixnQ0FBMkI7VUFBM0IsNEJBQTJCLEVBQUk7O0FBQ3REO0VBQWtCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUFJOztBQUM1QztFQUEwQiw2QkFBOEI7RUFBOUIsK0JBQThCO01BQTlCLG1DQUE4QjtVQUE5QiwrQkFBOEIsRUFBSTs7QUFHNUQ7OEVBQzhFO0FBRzlFO0VBQWtCLHNCQUFpQjtNQUFqQixrQkFBaUIsRUFBSTs7QUFDdkM7RUFBZ0Isb0JBQWU7TUFBZixnQkFBZSxFQUFJOztBQUNuQztFQUF3Qiw0QkFBdUI7TUFBdkIsd0JBQXVCLEVBQUk7O0FBRW5EOzs7R0FHRztBQUdIO0VBQXdCLDRCQUFzQjtNQUF0Qix1QkFBc0IsRUFBSTs7QUFDbEQ7RUFBb0IsMEJBQXlCO01BQXpCLDBCQUF5QixFQUFJOztBQUNqRDtFQUF1QiwyQkFBcUI7TUFBckIsc0JBQXFCLEVBQUk7O0FBQ2hEO0VBQXVCLHdCQUF1QjtNQUF2Qix3QkFBdUIsRUFBSTs7QUFDbEQ7RUFBd0IsNEJBQTRCO01BQTVCLDZCQUE0QixFQUFJOztBQUN4RDtFQUF1QiwrQkFBMkI7TUFBM0IsNEJBQTJCLEVBQUk7O0FBR3REOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVIO0VBQWlCLDZCQUFTO01BQVQsbUJBQVM7VUFBVCxVQUFTLEVBQUc7O0FBQzdCO0VBQWdCLCtCQUFTO01BQVQsbUJBQVM7VUFBVCxVQUFTLEVBQUc7O0FBRzVCLGdDQUFnQztBQUNoQztFQUVJO0lBQW9CLDZCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUk7RUFDakM7SUFBbUIsK0JBQVM7UUFBVCxtQkFBUztZQUFULFVBQVMsRUFBSSxFQUFBOztBQUlwQyxpQ0FBaUM7QUFDakM7RUFFSTtJQUFvQiw2QkFBUztRQUFULG1CQUFTO1lBQVQsVUFBUyxFQUFJO0VBQ2pDO0lBQW1CLCtCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUksRUFBQTs7QUFJcEMsd0JBQXdCO0FBQ3hCO0VBRUk7SUFBb0IsNkJBQVM7UUFBVCxtQkFBUztZQUFULFVBQVMsRUFBSTtFQUNqQztJQUFtQiwrQkFBUztRQUFULG1CQUFTO1lBQVQsVUFBUyxFQUFJLEVBQUE7O0FBSXBDLDZCQUE2QjtBQUM3QjtFQUVJO0lBQXFCLDZCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUk7RUFDbEM7SUFBb0IsK0JBQVM7UUFBVCxtQkFBUztZQUFULFVBQVMsRUFBSSxFQUFBOztBQUtyQzs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUg7OztHQUdHO0FBRUg7RUFBZ0Isb0JBQVU7TUFBVixlQUFVO1VBQVYsV0FBVSxFQUFJOztBQUU5Qjs7O0dBR0c7QUFFSDtFQUFnQixvQkFBVTtNQUFWLGVBQVU7VUFBVixXQUFVLEVBQUk7O0FBRTlCOzs7R0FHRztBQUVIO0VBQWEsb0JBQU87TUFBUCxZQUFPO1VBQVAsUUFBTyxFQUFJOztBQzFLeEI7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVIO0VBQWEsb0JwRXRDTyxFb0VzQzBCOztBQUM5QztFQUFpQiw0QkFBcUMsRUFBSTs7QUFFMUQ7RUFBaUIsNEJBQXFDLEVBQUk7O0FBQzFEO0VBQW9CLCtCQUF3QyxFQUFJOztBQUNoRTtFQUFrQiw2QkFBc0MsRUFBSTs7QUFDNUQ7RUFBbUIsOEJBQXVDLEVBQUk7O0FBRzlEOzhFQUM4RTtBQUU5RTtFQUFtQixvQnBFeUZPLEVvRXpGZ0M7O0FBQzFEO0VBQXVCLDRCQUEyQyxFQUFJOztBQUV0RTtFQUF1Qiw0QkFBMkMsRUFBSTs7QUFDdEU7RUFBMEIsK0JBQThDLEVBQUk7O0FBQzVFO0VBQXdCLDZCQUE0QyxFQUFJOztBQUN4RTtFQUF5Qiw4QkFBNkMsRUFBSTs7QUFHMUU7OEVBQzhFO0FBRTlFO0VBQW9CLG9CcEVpRE8sRW9FakRpQzs7QUFDNUQ7RUFBd0IsNEJBQTRDLEVBQUk7O0FBRXhFO0VBQXdCLDRCQUE0QyxFQUFJOztBQUN4RTtFQUEyQiwrQkFBK0MsRUFBSTs7QUFDOUU7RUFBeUIsNkJBQTZDLEVBQUk7O0FBQzFFO0VBQTBCLDhCQUE4QyxFQUFJOztBQUc1RTs4RUFDOEU7QUFFOUU7RUFBbUIsb0JwRXFDUSxFb0VyQytCOztBQUMxRDtFQUF1Qiw0QkFBMkMsRUFBSTs7QUFFdEU7RUFBdUIsNEJBQTJDLEVBQUk7O0FBQ3RFO0VBQTBCLCtCQUE4QyxFQUFJOztBQUM1RTtFQUF3Qiw2QkFBNEMsRUFBSTs7QUFDeEU7RUFBeUIsOEJBQTZDLEVBQUk7O0FBRTFFLHdCQUF3QjtBQUN4QjtFQVRBO0lBV3VCLG9CcEVyQ0csRW9FcUNzQztFQVZoRTtJQVcyQiw0QkFBNkMsRUFBSTtFQVQ1RTtJQVcyQiw0QkFBNkMsRUFBSTtFQVY1RTtJQVc4QiwrQkFBZ0QsRUFBSTtFQVZsRjtJQVc0Qiw2QkFBOEMsRUFBSTtFQVY5RTtJQVc2Qiw4QkFBK0MsRUFBSSxFQUFBOztBQUtoRjs4RUFDOEU7QUFFOUU7RUFBb0Isb0JwRW5ETSxFb0VtRGtDOztBQUM1RDtFQUF3Qiw0QkFBNEMsRUFBSTs7QUFFeEU7RUFBd0IsNEJBQTRDLEVBQUk7O0FBQ3hFO0VBQTJCLCtCQUErQyxFQUFJOztBQUM5RTtFQUF5Qiw2QkFBNkMsRUFBSTs7QUFDMUU7RUFBMEIsOEJBQThDLEVBQUk7O0FBRTVFLHdCQUF3QjtBQUN4QjtFQVRBO0lBV3dCLHFCcEUwZkksRW9FMWZzQztFQVZsRTtJQVc0Qiw2QkFBOEMsRUFBSTtFQVQ5RTtJQVc0Qiw2QkFBOEMsRUFBSTtFQVY5RTtJQVcrQixnQ0FBaUQsRUFBSTtFQVZwRjtJQVc2Qiw4QkFBK0MsRUFBSTtFQVZoRjtJQVc4QiwrQkFBZ0QsRUFBSSxFQUFBOztBQUtsRjs4RUFDOEU7QUFFOUU7RUFDSSw2QkFBNEI7RUFDNUIsOEJBQTZCLEVBQ2hDOztBQUVEO0VBQXNCLDRCQUEyQixFQUFJOztBQUNyRDtFQUF5QiwrQkFBOEIsRUFBSTs7QUFDM0Q7RUFBdUIsNkJBQTRCLEVBQUk7O0FBQ3ZEO0VBQXdCLDhCQUE2QixFQUFJOztBQUV6RDtFQUNJLDRCQUEyQjtFQUMzQiwrQkFBOEIsRUFDakM7O0FBRUQsZ0NBQWdDO0FBQ2hDO0VBRUk7SUFDSSw2QkFBNEI7SUFDNUIsOEJBQTZCLEVBQ2hDO0VBRUQ7SUFBMEIsNkJBQTRCLEVBQUk7RUFDMUQ7SUFBMkIsOEJBQTZCLEVBQUksRUFBQTs7QUFJaEUsaUNBQWlDO0FBQ2pDO0VBRUk7SUFDSSw2QkFBNEI7SUFDNUIsOEJBQTZCLEVBQ2hDO0VBRUQ7SUFBMEIsNkJBQTRCLEVBQUk7RUFDMUQ7SUFBMkIsOEJBQTZCLEVBQUksRUFBQTs7QUFJaEUsd0JBQXdCO0FBQ3hCO0VBRUk7SUFDSSw2QkFBNEI7SUFDNUIsOEJBQTZCLEVBQ2hDO0VBRUQ7SUFBMEIsNkJBQTRCLEVBQUk7RUFDMUQ7SUFBMkIsOEJBQTZCLEVBQUksRUFBQTs7QUFJaEUsNkJBQTZCO0FBQzdCO0VBRUk7SUFDSSw2QkFBNEI7SUFDNUIsOEJBQTZCLEVBQ2hDO0VBRUQ7SUFBMkIsNkJBQTRCLEVBQUk7RUFDM0Q7SUFBNEIsOEJBQTZCLEVBQUksRUFBQTs7QUFLakU7OEVBQzhFO0FBRTdFO0VBQW9CLHFCQUFvQixFQUFJOztBQUM1QztFQUF3Qix5QkFBd0IsRUFBSTs7QUFDcEQ7RUFBMkIsNEJBQTJCLEVBQUk7O0FBQzFEO0VBQXlCLDBCQUF5QixFQUFJOztBQUN0RDtFQUEwQiwyQkFBMEIsRUFBSTs7QUFFeEQ7RUFDSSx5QkFBd0I7RUFDeEIsNEJBQTJCLEVBQzlCOztBQUVEOztFQUMrQyx5QkFBd0IsRUFBSTs7QUFDM0U7RUFBNkMsNEJBQTJCLEVBQUk7O0FBRTdFLGdDQUFnQztBQUNoQztFQUVJO0lBQTRCLDBCQUF5QixFQUFJO0VBQ3pEO0lBQTZCLDJCQUEwQixFQUFJLEVBQUE7O0FBSS9ELGlDQUFpQztBQUNqQztFQUVJO0lBQTRCLDBCQUF5QixFQUFJO0VBQ3pEO0lBQTZCLDJCQUEwQixFQUFJLEVBQUE7O0FBSS9ELHdCQUF3QjtBQUN4QjtFQUVJO0lBQTRCLDBCQUF5QixFQUFJO0VBQ3pEO0lBQTZCLDJCQUEwQixFQUFJLEVBQUE7O0FBSS9ELDZCQUE2QjtBQUM3QjtFQUVJO0lBQTZCLDBCQUF5QixFQUFJO0VBQzFEO0lBQThCLDJCQUEwQixFQUFJLEVBQUE7O0FDeE5oRTs7OEVBRThFO0FBRTlFO0VBQWMsY3JFVU0sRXFFVnVCOztBQUUzQyx3QkFBd0I7QUFDeEI7RUFIQTtJQUtrQixjckVRUyxFcUVSc0IsRUFBQTs7QUFLakQ7OEVBQzhFO0FBRTlFO0VBQW9CLGNyRXZCTSxFcUV1QjZCOztBQUd2RDs4RUFDOEU7QUFFOUU7RUFBb0IsY3JFVEEsRXFFU21DOztBQUV2RCx3QkFBd0I7QUFDeEI7RUFIQTtJQUt3QixjckVvT0UsRXFFcE9tQyxFQUFBOztBQUs3RDs4RUFDOEU7QUFFOUU7RUFBcUIsc0JBQXFCLEVBQUk7O0FBQzlDO0VBQXlCLDBCQUF5QixFQUFJOztBQUN0RDtFQUE0Qiw2QkFBNEIsRUFBSTs7QUFDNUQ7RUFBMEIsMkJBQTBCLEVBQUk7O0FBQ3hEO0VBQTJCLDRCQUEyQixFQUFJOztBQUUxRDtFQUNJLDBCQUF5QjtFQUN6Qiw2QkFBNEIsRUFDL0I7O0FBRUQ7RUFDSSwyQkFBMEI7RUFDMUIsNEJBQTJCLEVBQzlCOztBQ25DRDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RTs7R0FFRztBN0Vna1NIOzs7OztFNkV6alNJLDhCQUE2QjtFQUM3QixPQUFPO0VBQ1AsZ0JBQWUsRUFDbEI7O0FBR0Q7OEVBQzhFO0FBRTlFLDRFQUE0RTtBQUM1RTtFQUNJLE9BQU07RUFDTixRQUFPO0VBQ1AsU0FBUSxFQUNYOztBQUVEO0VBQ0ksVUFBUztFQUNULFFBQU87RUFDUCxTQUFRLEVBQ1g7O0FBRUQ7RUFDSSxPQUFNO0VBQ04sVUFBUztFQUNULFFBQU8sRUFDVjs7QUFFRDtFQUNJLE9BQU07RUFDTixVQUFTO0VBQ1QsU0FBUSxFQUNYOztBQUdEOzhFQUM4RTtBQUU5RTtFQUNJLE9BQU07RUFDTixRQUFPLEVBQ1Y7O0FBRUQ7RUFDSSxPQUFNO0VBQ04sU0FBUSxFQUNYOztBQUVEO0VBQ0ksVUFBUztFQUNULFFBQU8sRUFDVjs7QUFFRDtFQUNJLFVBQVM7RUFDVCxTQUFRLEVBQ1g7O0FBRUQ7OztHQUdHO0FBRUg7RUFDSSxTQUFRO0VBQ1IsVUFBUztFQUNULHlDQUErQjtVQUEvQixpQ0FBK0I7RUFDL0IsT0FBTztFQUNQLDJCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsK0JBQXNCO1VBQXRCLHVCQUFzQixFQUN6Qjs7QUFFRCxjQUFjO0E3RWdqU2Q7O0U2RTdpU0ksU0FBUTtFQUNSLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFDOUI7O0FBRUQ7RUFBMkIsUUFBTyxFQUFJOztBQUN0QztFQUE0QixTQUFRLEVBQUk7O0FBRXhDO0VBQ0ksWUFBVztFQUNYLDJCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsbUJBQWtCLEVBQ3JCOztBQUVEO0VBQ0ksV0FBVTtFQUNWLDJCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsbUJBQWtCLEVBQ3JCOztBQUVELGdCQUFnQjtBQUNoQjs7RUFFSSxVQUFTO0VBQ1Qsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixPQUFPO0VBQ1AsMkJBQWtCO0VBQWxCLHdCQUFrQjtFQUFsQixtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZiwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQ3pCOztBQUVEO0VBQTBCLE9BQU0sRUFBSTs7QUFDcEM7RUFBNkIsVUFBUyxFQUFJOztBQUcxQzs4RUFDOEU7QUFFOUU7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUSxFQUNYOztBQUdEOzhFQUM4RTtBQUU5RTtFQUF3Qiw4QkFBNkIsRUFBSTs7QUFFekQ7RUFBd0IsOEJBQTZCLEVBQUk7O0FBRXpEO0VBQXFCLDJCQUEwQixFQUFJOztBQUVuRDtFQUF1QixXQUFVLEVBQUk7O0FBR3JDOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVIO0VBQ0ksbUNBQWtFO0VBQ2xFLGF0RW5Mc0IsRXNFb0x6Qjs7QUFFRDtFQUF3QyxpRUFBOEY7VUFBOUYseURBQThGLEVBQUk7O0FBRTFJOztFQUN3RCxzREFBK0Q7VUFBL0QsOENBQStELEVBQUk7O0FBRTNIOztFQUMrQyxzREFBK0Q7VUFBL0QsOENBQStELEVBQUk7O0FBRWxIOztHQUVHO0FBRUg7RUFDSSxtQ0FBbUU7RUFDbkUsYXRFaExnQixFc0VpTG5COztBQUVEO0VBQXlDLGlFQUFnRztVQUFoRyx5REFBZ0csRUFBSTs7QUFFN0k7O0VBQ3lELHNEQUFnRTtVQUFoRSw4Q0FBZ0UsRUFBSTs7QUFFN0g7O0VBQ2dELHNEQUFnRTtVQUFoRSw4Q0FBZ0UsRUFBSTs7QUFFcEg7O0dBRUc7QUFFSDtFQUNJLG1DQUFrRTtFQUNsRSxhdEVqTWdCLEVzRWtNbkI7O0FBRUQ7RUFBd0MsaUVBQThGO1VBQTlGLHlEQUE4RixFQUFJOztBQUUxSTs7RUFDd0Qsc0RBQStEO1VBQS9ELDhDQUErRCxFQUFJOztBQUUzSDs7RUFDK0Msc0RBQStEO1VBQS9ELDhDQUErRCxFQUFJOztBQUVsSCx3QkFBd0I7QUFDeEI7RUFkQTtJQWlCUSxtQ0FBb0U7SUFDcEUsYXRFK2lCc0IsRXNFOWlCekI7RUFkTDtJQWdCNEMsaUVBQWtHO1lBQWxHLHlEQUFrRyxFQUFJO0VBZGxKOztJQWlCNEQsc0RBQWlFO1lBQWpFLDhDQUFpRSxFQUFJO0VBZGpJOztJQWlCbUQsc0RBQWlFO1lBQWpFLDhDQUFpRSxFQUFJLEVBQUE7O0FDMU54SDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVIO0VBQ0ksT0FBTztFQUNQLHlDQUF3QyxFQUMzQzs7QUFFRDs7R0FFRztBQUVIO0VBQThCLGNBQWEsRUFBSTs7QUFHL0M7OEVBQzhFO0FBRTlFOzs7Ozs7OztHQVFHO0FBRUg7OztFQUdJLGtDQUF5QztFQUF6QywwQkFBeUM7RUFDekMsd0VBQStDO0VBQS9DLGdFQUErQztFQUEvQyxnREFBK0M7RUFBL0MsbUZBQStDO0VBQy9DLFdBQVUsRUFDYjs7QUFFRDs7R0FFRztBQUVIOzs7RUFFc0QsV0FBVSxFQUFJOztBQUVwRTs7R0FFRztBQUVIO0VBQTBCLCtCQUFxQjtVQUFyQix1QkFBcUIsRUFBSTs7QUFDbkQ7RUFBNEIsbUNBQXFEO1VBQXJELDJCQUFxRCxFQUFJOztBQUVyRixVQUFVO0FBQ1Y7OztFQUdJLFdBQVU7RUFDVixtQ0FBcUQ7VUFBckQsMkJBQXFELEVBQ3hEOztBQUVEOzs7RUFHSSxXQUFVO0VBQ1YsK0JBQXFCO1VBQXJCLHVCQUFxQixFQUN4Qjs7QUFFRDs7R0FFRztBQUVIO0VBQTJCLHFDQUE0QjtVQUE1Qiw2QkFBNEIsRUFBSTs7QUFDM0Q7RUFBOEIsb0NBQTJCO1VBQTNCLDRCQUEyQixFQUFJOztBQUM3RDtFQUE0QixxQ0FBNEI7VUFBNUIsNkJBQTRCLEVBQUk7O0FBQzVEO0VBQTZCLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFBSTs7QUFFNUQ7RUFBaUMscUNBQXlEO1VBQXpELDZCQUF5RCxFQUFJOztBQUM5RjtFQUFvQyxvQ0FBd0Q7VUFBeEQsNEJBQXdELEVBQUk7O0FBQ2hHO0VBQWtDLHFDQUF5RDtVQUF6RCw2QkFBeUQsRUFBSTs7QUFDL0Y7RUFBbUMsb0NBQXdEO1VBQXhELDRCQUF3RCxFQUFJOztBQUUvRjtFQUFrQyxxQ0FBMEQ7VUFBMUQsNkJBQTBELEVBQUk7O0FBQ2hHO0VBQXFDLG9DQUF5RDtVQUF6RCw0QkFBeUQsRUFBSTs7QUFDbEc7RUFBbUMscUNBQTBEO1VBQTFELDZCQUEwRCxFQUFJOztBQUNqRztFQUFvQyxvQ0FBeUQ7VUFBekQsNEJBQXlELEVBQUk7O0FBRWpHLFVBQVU7QUFDVjs7O0VBR0ksV0FBVTtFQUNWLG1DQUF5QjtVQUF6QiwyQkFBeUIsRUFDNUI7O0FBR0Q7OEVBQzhFO0FBRTlFO0VBQXdCLFdBQVUsRUFBSTs7QUFHdEM7OEVBQzhFO0FBRTlFO0VBQXNCLGtDdkUrMUJTO1V1RS8xQlQsMEJ2RSsxQlMsRXVFLzFCeUM7O0FDckl4RTs7OEVBRThFO0FBRTlFOzs7R0FHRztBL0UwNVNIOztFK0V2NVNhLHlCQUF3QixFQUFJOztBQUV6QyxnQ0FBZ0M7QUFDaEM7RUFFSTtJQUFnQix5QkFBd0IsRUFBSSxFQUFBOztBQUloRCxpQ0FBaUM7QUFDakM7RUFFSTtJQUFnQix5QkFBd0IsRUFBSSxFQUFBOztBQUloRCx3QkFBd0I7QUFDeEI7RUFFSTtJQUFnQix5QkFBd0IsRUFBSSxFQUFBOztBQUloRCw2QkFBNkI7QUFDN0I7RUFFSTtJQUFpQix5QkFBd0IsRUFBSSxFQUFBOztBQUlqRDs7R0FFRztBQUVILGdDQUFnQztBQUNoQztFQUVJO0lBQWlCLHlCQUF3QixFQUFJLEVBQUE7O0FBSWpELGlDQUFpQztBQUNqQztFQUVJO0lBQWlCLHlCQUF3QixFQUFJLEVBQUE7O0FBSWpELGtDQUFrQztBQUNsQztFQUVJO0lBQWlCLHlCQUF3QixFQUFJLEVBQUE7O0FBSWpELHlCQUF5QjtBQUN6QjtFQUVJO0lBQWtCLHlCQUF3QixFQUFJLEVBQUE7O0FBS2xEOzhFQUM4RTtBQUU5RTtFQUFnQiw4QkFBNkIsRUFBSTs7QUFHakQ7OEVBQzhFO0FBRTlFOzs7Ozs7O0dBT0c7QUFFSCxXQUFXO0FBQ1g7RUFDSSxPQUFPO0VBQ1AsOEJBQTZCO0VBQzdCLG9CQUFtQjtFQUNuQixxQkFBb0I7RUFDcEIsc0JBQXFCO0VBQ3JCLHFCQUFvQjtFQUNwQiw0QkFBMkIsRUFDOUI7O0FBRUQ7O0dBRUc7QUFFSCxXQUFXO0FBQ1g7RUFDSSxPQUFPO0VBQ1Asc0JBQXFCLEVBQ3hCOztBQUVEOztHQUVHO0FBRUg7RUFDSSxPQUFPO0VBQ1AseUNBQXdDLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7RUFBMkIsY0FBYSxFQUFJOztBQUc1Qzs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUg7RUFDSTtJQUFtQix5QkFBd0IsRUFBSSxFQUFBOztBQUduRDs7OztHQUlHO0FBRUgsT0FBTztBQUNQO0VBQXFCLHlCQUF3QixFQUFJOztBQUVqRDtFQUZBO0lBR3lCLDBCQUF5QixFQUFJLEVBQUE7O0FDNUl0RDs7OEVBRThFO0FBSTlFOzs7O0dBSUc7QUN6Qkg7OzhFQUU4RTtBQUU5RTtFQUVJOzs7SUFHSSxtQ0FBa0M7SUFDbEMsd0JBQXVCO0lBQ3ZCLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFDM0IsNkJBQTRCLEVBQy9CO0VBRUQ7O0lBQ1ksMkJBQTBCLEVBQUk7RUFFMUM7O0lBRUksdUJBQXNCO0lBQ3RCLHlCQUF3QixFQUMzQjtFQUVEO0lBQVEsNEJBQTJCLEVBQUk7RUFFdkM7O0lBQ00seUJBQXdCLEVBQUk7RS9FK1B0QztJK0U3UFUsMkJBQTBCLEVBQUk7RUFFcEM7SUFBUSxjQUFhLEVBQUE7RUFFckI7OztJQUdJLFdBQVU7SUFDVixVQUFTLEVBQ1o7RUFFRDs7SUFDSyx3QkFBdUIsRUFBSSxFQUFBOztBQ25EcEM7Ozs7Ozs7Ozs7Ozs7Ozs7bUVBZ0JtRTtBQUduRTs7Ozs7Ozs7OztzQkFVc0I7QUFhdEI7Ozs7Ozs7Ozs7Ozs7Ozs7c0JBZ0JzQjtBakZnQ3RCOzs7Ozs7c0JBTXNCO0FrRmhHdEI7Ozs7Ozs7Ozs7Ozs7bUVBYW1FO0FBRW5FOzs7Ozs7Ozs7c0JBU3NCO0FBRXRCO0VBQ0Usc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQix3RS9FaUs0RTtFK0VoSzVFLHNCQUFxQjtFQUNyQixZaEZOc0I7RWdGT3RCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsVUFBUztFQUNULGdCQUFlO0VBQ2YsdURBQThDO0VBQTlDLCtDQUE4QyxFQWMvQztFQVhDO0lBQ0UsWWhGbkJvQjtJZ0ZvQnBCLHNCQUFxQjtJQUNyQixjQUFhLEVBQ2Q7RUFHRDtJQUNFLFNBQVEsRUFDVDs7QUFJSDs7OztFQUlFO0FBQ0Y7RUFFRSwwQmhGckN5QixFZ0ZnRDFCO0VBYkQ7SUFNSSwwQkFBbUMsRUFDcEM7RUFQSDtJQVVJLDBCQUFtQyxFQUNwQzs7QUFJSDtFQUNFLGFBQVk7RUFDWiwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixnQkFBZTtFQUNmLGFBQVk7RUFNWixhQUFZO0VBQ1osYUFBWTtFQUNaLDhCQUE2QjtFQUM3QixzQkFBcUI7RUFHckIsOEJBQTZCO0VBQzdCLCtCQUE4QjtFQUM5QixrQ0FBeUI7RUFBekIsMEJBQXlCLEVBbUMxQjtFOUV4R0c7SThFaURKO01BU0ksZ0JBQWUsRUE4Q2xCLEVBQUE7RUF2REQ7SUF1QkksYUFBWTtJQUNaLHNCQUFxQjtJQUNyQiwwQmhGdEV1QixFZ0Z1RXhCO0VBMUJIO0lBNkJJLDBCaEY1RVksRWdGa0ZiO0lBbkNIO01BZ0NNLDBCaEY3RXFCLEVnRjhFdEI7RUFqQ0w7SUFzQ0ksMEJoRnZGdUIsRWdGNkZ4QjtJQTVDSDtNQXlDTSwwQmhGdEZxQixFZ0Z1RnRCO0VBMUNMO0lBK0NJLDBCaEY1RnVCLEVnRmtHeEI7SUFyREg7TUFrRE0sMEJoRi9GcUIsRWdGZ0d0Qjs7QUFPTDtFQUNFLGFBQVk7RUFDWiwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLDhCQUE2QjtFQUM3QixzQkFBcUI7RUFDckIsOEJBQTZCO0VBQzdCLCtCQUE4QjtFQUM5QixrQ0FBeUI7RUFBekIsMEJBQXlCLEVBdUIxQjtFQWxDRDtJQWNJLGFBQVk7SUFDWixzQkFBcUIsRUFDdEI7RUFoQkg7SUFtQkksbUJBQWtCO0lBQ2xCLGlCQUFnQixFQUNqQjtFQXJCSDtJQXdCSSwwQmhGaklZLEVnRmtJYjtFQXpCSDtJQTRCSSwwQmhGdkl1QixFZ0Z3SXhCO0VBN0JIO0lBZ0NJLDBCaEZ2SXVCLEVnRndJeEI7O0FBR0g7Ozs7RUFJRSxhQUFZLEVBT2I7RUFYRDs7OztJQU9JLGFBQVk7SUFDWixzQkFBcUIsRUFDdEI7O0FBSUg7RUFFSSxlaEY1Slk7RWdGNkpaLGdDaEY3Slk7RWdGOEpaLGlDaEY5SlksRWdGb0tiO0VBVkg7SUFPTSwwQmhGaktVO0lnRmtLVixhQUFZLEVBQ2I7O0FBTUw7Ozs7RUFNSSwrQmhGakx1QjtFZ0ZrTHZCLDhCaEZsTHVCLEVnRjBMeEI7RUFmSDs7OztJQVVNLDZCQUE0QjtJQUM1Qiw0QkFBMkI7SUFDM0Isd0JBQXVCO0lBQ3ZCLGVoRnhMcUIsRWdGeUx0Qjs7QUFkTDtFQWtCSSw0QmhGL0xvQjtFZ0ZnTXBCLDJCaEZoTW9CLEVnRmlNckI7O0FBS0g7Ozs7RUFLSSwrQmhGdk1ZO0VnRndNWiw4QmhGeE1ZLEVnRmdOYjtFQWRIOzs7O0lBU00sNkJBQTRCO0lBQzVCLDRCQUEyQjtJQUMzQix3QkFBdUI7SUFDdkIsZWhGaE5xQixFZ0ZpTnRCOztBQWJMO0VBaUJJLDRCaEZ2Tm9CO0VnRndOcEIsMkJoRnhOb0IsRWdGeU5yQjs7QUFNSDs7OztFQU1JLDRCaEZyT29CO0VnRnNPcEIsMkJoRnRPb0IsRWdGOE9yQjtFQWZIOzs7O0lBVU0sNkJBQTRCO0lBQzVCLDRCQUEyQjtJQUMzQix3QkFBdUI7SUFDdkIsZWhGeE9VLEVnRnlPWDs7QUFkTDtFQWtCSSw0QmhGalBvQjtFZ0ZrUHBCLDJCaEZsUG9CLEVnRm1QckI7O0FBS0g7Ozs7RUFNSSwrQmhGM1BjO0VnRjRQZCw4QmhGNVBjLEVnRm9RZjtFQWZIOzs7O0lBVU0sNkJBQTRCO0lBQzVCLDRCQUEyQjtJQUMzQix3QkFBdUI7SUFDdkIsZWhGblFxQixFZ0ZvUXRCOztBQWRMO0VBa0JJLDRCaEYxUW9CO0VnRjJRcEIsMkJoRjNRb0IsRWdGNFFyQjs7QUFLSDs7O0VBR0UsbUJBQWtCO0VBQ2xCLDBCaEZqUmM7RWdGa1JkLGVBQWM7RUFDZCxhQUFZO0VBQ1osc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZUFBYyxFQWlCZjtFOUUxU0c7SThFK1FKOzs7TUFhSSxpQkFBZ0I7TUFDaEIsaUJBQWdCLEVBYW5CLEVBQUE7RUEzQkQ7OztJQW1CSSxlaEZoU1k7SWdGaVNaLHdCQUF1QixFQUN4QjtFQXJCSDs7O0lBd0JJLDRCaEZ6U29CO0lnRjBTcEIsMkJoRjFTb0IsRWdGMlNyQjs7QUNwVUg7Ozs7Ozs7Ozs7Ozs7Ozs7bUVBZ0JtRTtBQUVuRTs7c0JBRXNCO0FBR3RCOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRSxlQUFjO0VBQ2QsYUFBWTtFQUNaLGtCQUFpQjtFQUNqQiwyQkFBMEI7RUFDMUIsZ0JBQWU7RUFDZixhQUFZO0VBQ1osdUJBQXNCO0VBQ3RCLHlCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsVUFBUztFQUNULFlBQVc7RUFDWCx3RWhGNEk0RTtFZ0YzSTVFLCtCQUE4QjtFQUM5Qiw4QkFBNkI7RUFDN0IsZWpGN0J5QjtFaUY4QnpCLHdCQUF1QixFQW1EeEI7RUFsRkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW9DSSwyQ0FBc0M7SUFDdEMsY0FBYSxFQUNkO0VBdENIOzs7Ozs7Ozs7Ozs7Ozs7OztJQXlDSSxhQUFZLEVBQ2I7RUExQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBeUNJLGFBQVksRUFDYjtFQTFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF5Q0ksYUFBWSxFQUNiO0VBMUNIOzs7Ozs7Ozs7Ozs7Ozs7OztJQXlDSSxhQUFZLEVBQ2I7RUExQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQStDSSxlakZsRHVCO0lpRm1EdkIsc0JqRm5EdUI7SWlGb0R2Qix1QmpGL0NvQjtJaUZnRHBCLGdDQUErQjtJQUMvQiw2QkFBNEI7SUFDNUIsczNEQUFxM0Q7SUFDcjNELHVCakZ4RHVCLEVpRnlEeEI7RUF0REg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTJESSxlakY3RHVCO0lpRjhEdkIsc0JqRjlEdUI7SWlGK0R2Qix1QmpGM0RvQjtJaUY0RHBCLGdDQUErQjtJQUMvQiw2QkFBNEI7SUFDNUIsODREQUE2NEQ7SUFDNzRELHVCakZuRXVCLEVpRm9FeEI7RUFsRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVFSSxvQkFBbUI7SUFDbkIsc0JqRi9DdUI7SWlGZ0R2QixhQUFZLEVBT2I7SUFoRkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BNkVNLDBCakY5RXFCLEVpRitFdEI7O0FBT0w7RUFDRSxzQkFBcUIsRUFDdEI7O0FsRnFWRDtFa0ZqVkUsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ25COztBbEVzSlM7RWtFbEpSLHlCQUF3QjtFQUFFLE9BQU87RUFDakMsc0JBQXFCO0VBQ3JCLGlCQUFnQjtFQUVoQiwwNkNBQXk2QztFQUN6NkMsNkJBQTRCO0VBQzVCLGtDQUFpQyxFQUNsQzs7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsZWpGdkdjO0VpRndHZCxpQkFBZ0IsRUFDakI7O0FBRUQ7OztFQUdFLHNCakYvR2dCLEVpRmdIakI7O0FBRUQ7O0VBSUksZUFBYztFQUNkLG9CQUFtQjtFQUNuQixnQkFBZSxFQUtoQjtFL0U5SEM7SStFbUhKOztNQVNNLGdCQUFlLEVBRWxCLEVBQUE7O0FBWEg7RUFjSSxlakYvSFksRWlGZ0liOztBQWZIO0VBa0JJLHNCakZwSWM7RWlGcUlkLDBCakZySWM7RWlGc0lkLFlqRnpJb0I7RWlGMElwQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGNBQWEsRUFDZDs7QUF4Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkNNLGVqRm5LcUIsRWlGb0t0Qjs7QUE5Q0w7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkNNLGVqRm5LcUIsRWlGb0t0Qjs7QUE5Q0w7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkNNLGVqRm5LcUIsRWlGb0t0Qjs7QUE5Q0w7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkNNLGVqRm5LcUIsRWlGb0t0Qjs7QUFPTDtFQUNFLHNCakZyS3lCO0VpRnNLekIsMEJqRnRLeUIsRWlGdUsxQjs7QUNyTUQ7Ozs7OztHQU1HO0FDTEg7RUFDRSxtQkRRbUM7RUNQbkMsc0JBQXFCO0VBQ3JCLGdCQUFlO0VBRWYscURBQW9DO0VBQXBDLDZDQUFvQztFQUFwQyxxQ0FBb0M7RUFBcEMscURBQW9DO0VBQ3BDLG1DQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsMkNBQWtDO1VBQWxDLG1DQUFrQztFQUdsQyxjQUFhO0VBQ2IsZUFBYztFQUNkLHFCQUFvQjtFQUNwQiw4QkFBNkI7RUFDN0IsVUFBUztFQUNULFVBQVM7RUFDVCxrQkFBaUIsRUEyQmxCO0VBM0NEO0lBdUJNLGFEUDhCLEVDU2pDO0VBekJIO0lBaUNRLGFEakI0QixFQ21CL0I7RUFuQ0w7OztJQXdDTSx1Qm5GakJrQixFbUZrQm5COztBQUlMO0VBQ0UsWURuQ21DO0VDb0NuQyxhQUFrRTtFQUNsRSxzQkFBcUI7RUFDckIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsZUFBYztFQUNkLFNBQVE7RUFDUixpQkFBd0MsRUE0QnpDO0VBL0JEO0lBUUksWURqRGlDO0lDa0RqQyxZRGpEZ0M7SUNrRGhDLHVCbkZ2Q29CO0ltRndDcEIsaUJEaEQ4QjtJQ2lEOUIsbUJBQWtCO0lBQ2xCLCtDQUE4QjtJQUE5Qix1Q0FBOEI7SUFBOUIsK0JBQThCO0lBQTlCLGtEQUE4QjtJQUM5QixtQ0FBMEI7WUFBMUIsMkJBQTBCO0lBQzFCLHlDQUFnQztZQUFoQyxpQ0FBZ0MsRUFDakM7RUFoQkg7SUFvQkksWUFBVztJQUNYLGVBQWMsRUFDZjtFQXRCSDtJQXlCSSxVQUE4RCxFQUMvRDtFQTFCSDtJQTZCSSxhQUFpRSxFQUNsRTs7QUNuRkQ7O0tBRUc7QUFDSDtFQUVJLDBCQUF1QztVQUF2QyxrQkFBdUMsRUFDeEM7O0FBSEg7RUFNSSxnSkFDeUU7RUFEekUsd0lBQ3lFO0VBRHpFLGdJQUN5RTtFQUR6RSw4TEFDeUUsRUFNMUU7RUFiSDtJQVdNLG1GQUFrRTtJQUFsRSwyRUFBa0U7SUFBbEUsbUVBQWtFO0lBQWxFLG1JQUFrRSxFQUNuRTs7QUFaTDtFQWlCTSx5Q0FBd0M7RUFDeEMsbUNBQTBCO1VBQTFCLDJCQUEwQixFQVMzQjtFQTNCTDtJQXFCUSx3REFBOEY7WUFBOUYsZ0RBQThGLEVBQy9GO0VBdEJQO0lBeUJRLDBEQUFzRztZQUF0RyxrREFBc0csRUFDdkc7O0FDN0JQOztLQUVHO0FBQ0g7RUFFSSwwQkFBdUM7VUFBdkMsa0JBQXVDLEVBQ3hDOztBQUhIO0VBTUksZ0pBQ3lFO0VBRHpFLHdJQUN5RTtFQUR6RSxnSUFDeUU7RUFEekUsOExBQ3lFLEVBTTFFO0VBYkg7SUFXTSxtRkFBa0U7SUFBbEUsMkVBQWtFO0lBQWxFLG1FQUFrRTtJQUFsRSxtSUFBa0UsRUFDbkU7O0FBWkw7RUFpQk0seUNBQXdDO0VBQ3hDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFTNUI7RUEzQkw7SUFxQlEsd0RBQThGO1lBQTlGLGdEQUE4RixFQUMvRjtFQXRCUDtJQXlCUSwwREFBc0c7WUFBdEcsa0RBQXNHLEVBQ3ZHOztBQzdCUDs7S0FFRztBQUNIO0VBRUksMEJBQXVDO1VBQXZDLGtCQUF1QyxFQUN4Qzs7QUFISDtFQU1JLGdKQUN5RTtFQUR6RSx3SUFDeUU7RUFEekUsZ0lBQ3lFO0VBRHpFLDhMQUN5RSxFQU0xRTtFQWJIO0lBV00sbUZBQWtFO0lBQWxFLDJFQUFrRTtJQUFsRSxtRUFBa0U7SUFBbEUsbUlBQWtFLEVBQ25FOztBQVpMO0VBaUJNLHlDQUF3QztFQUN4QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVBUzVCO0VBM0JMO0lBcUJRLHdEQUE4RjtZQUE5RixnREFBOEYsRUFDL0Y7RUF0QlA7SUF5QlEsMERBQXNHO1lBQXRHLGtEQUFzRyxFQUN2Rzs7QUM3QlA7O0tBRUc7QUFDSDtFQUVJLDBCQUF1QztVQUF2QyxrQkFBdUMsRUFDeEM7O0FBSEg7RUFNSSxnSkFDeUU7RUFEekUsd0lBQ3lFO0VBRHpFLGdJQUN5RTtFQUR6RSw4TEFDeUUsRUFNMUU7RUFiSDtJQVdNLG1GQUFrRTtJQUFsRSwyRUFBa0U7SUFBbEUsbUVBQWtFO0lBQWxFLG1JQUFrRSxFQUNuRTs7QUFaTDtFQWlCTSx5Q0FBd0M7RUFDeEMsbUNBQTBCO1VBQTFCLDJCQUEwQixFQVMzQjtFQTNCTDtJQXFCUSx3REFBOEY7WUFBOUYsZ0RBQThGLEVBQy9GO0VBdEJQO0lBeUJRLDBEQUFzRztZQUF0RyxrREFBc0csRUFDdkc7O0FDN0JQOztLQUVHO0FBQ0g7RUFFSSwwQkFBdUM7VUFBdkMsa0JBQXVDLEVBQ3hDOztBQUhIO0VBTUksZ0pBQ3lFO0VBRHpFLHdJQUN5RTtFQUR6RSxnSUFDeUU7RUFEekUsOExBQ3lFLEVBTTFFO0VBYkg7SUFXTSxtRkFBa0U7SUFBbEUsMkVBQWtFO0lBQWxFLG1FQUFrRTtJQUFsRSxtSUFBa0UsRUFDbkU7O0FBWkw7RUFpQk0seUNBQXdDO0VBQ3hDLG1EQUEwQztVQUExQywyQ0FBMEMsRUFTM0M7RUEzQkw7SUFxQlEsd0RBQThGO1lBQTlGLGdEQUE4RixFQUMvRjtFQXRCUDtJQXlCUSwwREFBc0c7WUFBdEcsa0RBQXNHLEVBQ3ZHOztBQzdCUDs7S0FFRztBQUNIO0VBRUksMEJBQXVDO1VBQXZDLGtCQUF1QyxFQUN4Qzs7QUFISDtFQU1JLGdKQUN5RTtFQUR6RSx3SUFDeUU7RUFEekUsZ0lBQ3lFO0VBRHpFLDhMQUN5RSxFQU0xRTtFQWJIO0lBV00sbUZBQWtFO0lBQWxFLDJFQUFrRTtJQUFsRSxtRUFBa0U7SUFBbEUsbUlBQWtFLEVBQ25FOztBQVpMO0VBaUJNLHlDQUF3QztFQUN4QyxvRUFBMkQ7VUFBM0QsNERBQTJELEVBUzVEO0VBM0JMO0lBcUJRLHdEQUE4RjtZQUE5RixnREFBOEYsRUFDL0Y7RUF0QlA7SUF5QlEsMERBQXNHO1lBQXRHLGtEQUFzRyxFQUN2Rzs7QUM3QlA7O0tBRUc7QUFDSDtFQUdNLHdFQUF3RjtVQUF4RixnRUFBd0YsRUFDekY7O0FBSkw7RUFPTSx1RUFBdUY7VUFBdkYsK0RBQXVGLEVBQ3hGOztBQ1hMOztLQUVHO0FBQ0g7RUFHTSxzRUFBc0Y7VUFBdEYsOERBQXNGLEVBQ3ZGOztBQUpMO0VBT00sdUVBQXVGO1VBQXZGLCtEQUF1RixFQUN4Rjs7QUNYTDs7S0FFRztBQUNIO0VBR00sa0dBQzZEO0VBRDdELDBGQUM2RDtFQUQ3RCxrRkFDNkQ7RUFEN0QsNklBQzZELEVBQzlEOztBQUxMO0VBUU0scUdBQzZEO0VBRDdELDZGQUM2RDtFQUQ3RCxxRkFDNkQ7RUFEN0QsZ0pBQzZELEVBQzlEOztBQVZMO0VBZ0JRLE9BQU07RUFDTiwyRUFBcUg7VUFBckgsbUVBQXFIO0VBQ3JILHNHQUNzRTtFQUR0RSw4RkFDc0U7RUFEdEUsc0ZBQ3NFO0VBRHRFLDBKQUNzRSxFQUN2RTs7QUFwQlA7RUF1QlEsVUFBUztFQUNULHlFQUFtSDtVQUFuSCxpRUFBbUg7RUFDbkgseUdBQ3NFO0VBRHRFLGlHQUNzRTtFQUR0RSx5RkFDc0U7RUFEdEUsNkpBQ3NFLEVBQ3ZFOztBQzlCUDs7S0FFRztBQUNIO0VBR00sa0dBQzZEO0VBRDdELDBGQUM2RDtFQUQ3RCxrRkFDNkQ7RUFEN0QsNklBQzZELEVBQzlEOztBQUxMO0VBUU0scUdBQzZEO0VBRDdELDZGQUM2RDtFQUQ3RCxxRkFDNkQ7RUFEN0QsZ0pBQzZELEVBQzlEOztBQVZMO0VBZ0JRLE9BQU07RUFDTix5RUFBbUg7VUFBbkgsaUVBQW1IO0VBQ25ILHNHQUNzRTtFQUR0RSw4RkFDc0U7RUFEdEUsc0ZBQ3NFO0VBRHRFLDBKQUNzRSxFQUN2RTs7QUFwQlA7RUF1QlEsVUFBUztFQUNULHlFQUFtSDtVQUFuSCxpRUFBbUg7RUFDbkgseUdBQ3NFO0VBRHRFLGlHQUNzRTtFQUR0RSx5RkFDc0U7RUFEdEUsNkpBQ3NFLEVBQ3ZFOztBQzlCUDs7S0FFRztBQUNIO0VBRUksbUNBQTBCO1VBQTFCLDJCQUEwQixFQVMzQjtFQVhIO0lBS00sc0VBQTZEO1lBQTdELDhEQUE2RCxFQUM5RDtFQU5MO0lBU00sdUVBQThEO1lBQTlELCtEQUE4RCxFQUMvRDs7QUNiTDs7S0FFRztBQUNIO0VBRUksbUNBQTBCO1VBQTFCLDJCQUEwQixFQVMzQjtFQVhIO0lBS00sd0VBQStEO1lBQS9ELGdFQUErRCxFQUNoRTtFQU5MO0lBU00sdUVBQThEO1lBQTlELCtEQUE4RCxFQUMvRDs7QUNiTDs7S0FFRztBQUNIO0VBS00sa0NBQXlCO0VBQXpCLDBCQUF5QixFQUMxQjs7QUFOTDtFQVdNLGlDQUF3QjtVQUF4Qix5QkFBd0IsRUFXekI7RUF0Qkw7SUFjUSxPQUFNO0lBQ04sV0FBVSxFQUNYO0VBaEJQO0lBbUJRLFVBQVM7SUFDVCxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQzFCOztBQ3hCUDs7S0FFRztBQUNIO0VBRUksVUFBUztFQUNULFVBQVM7RUFDVCxtQ0FBMEI7VUFBMUIsMkJBQTBCO0VBQzFCLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsMkVBQWtFO1VBQWxFLG1FQUFrRSxFQVluRTtFQWxCSDtJQVNNLFdBQXNFO0lBQ3RFLGtHQUMrQjtJQUQvQiwwRkFDK0IsRUFDaEM7RUFaTDtJQWVNLDhJQUNrRTtJQURsRSxzSUFDa0U7SUFEbEUsOEhBQ2tFO0lBRGxFLDhMQUNrRSxFQUNuRTs7QUFqQkw7RUFzQk0sMERBQXNHO1VBQXRHLGtEQUFzRztFQUN0RyxnQ0FBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLHdFQUErRDtVQUEvRCxnRUFBK0QsRUFlaEU7RUF2Q0w7SUEyQlEsT0FBTTtJQUNOLFdBQVU7SUFDVixtR0FDcUM7SUFEckMsMkZBQ3FDLEVBQ3RDO0VBL0JQO0lBa0NRLE9BQU07SUFDTixrQ0FBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLGlKQUNxRTtJQURyRSx5SUFDcUU7SUFEckUsaUlBQ3FFO0lBRHJFLG9NQUNxRSxFQUN0RTs7QUN6Q1A7O0tBRUc7QUFDSDtFQUVJLFVBQVM7RUFDVCxVQUFTO0VBQ1QsbUNBQTBCO1VBQTFCLDJCQUEwQjtFQUMxQixnQ0FBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDJFQUFrRTtVQUFsRSxtRUFBa0UsRUFZbkU7RUFsQkg7SUFTTSxXQUFzRTtJQUN0RSxrR0FDK0I7SUFEL0IsMEZBQytCLEVBQ2hDO0VBWkw7SUFlTSw4SUFDa0U7SUFEbEUsc0lBQ2tFO0lBRGxFLDhIQUNrRTtJQURsRSw4TEFDa0UsRUFDbkU7O0FBakJMO0VBc0JNLHlEQUFxRztVQUFyRyxpREFBcUc7RUFDckcsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix3RUFBK0Q7VUFBL0QsZ0VBQStELEVBZWhFO0VBdkNMO0lBMkJRLE9BQU07SUFDTixXQUFVO0lBQ1YsbUdBQ3FDO0lBRHJDLDJGQUNxQyxFQUN0QztFQS9CUDtJQWtDUSxPQUFNO0lBQ04saUNBQXdCO1lBQXhCLHlCQUF3QjtJQUN4QixpSkFDcUU7SUFEckUseUlBQ3FFO0lBRHJFLGlJQUNxRTtJQURyRSxvTUFDcUUsRUFDdEU7O0FDekNQOztLQUVHO0FBQ0g7RUFFSSxTQUFnQztFQUNoQyxvQ0FBMkI7VUFBM0IsNEJBQTJCO0VBQzNCLDJFQUFrRTtVQUFsRSxtRUFBa0UsRUFXbkU7RUFmSDtJQU9NLFNBQXVEO0lBQ3ZELCtDQUFzQztJQUF0Qyx1Q0FBc0MsRUFDdkM7RUFUTDtJQVlNLFVBQW1FO0lBQ25FLG9GQUFtRTtJQUFuRSw0RUFBbUU7SUFBbkUsb0VBQW1FO0lBQW5FLHFJQUFtRSxFQUNwRTs7QUFkTDtFQXFCTSx5REFBc0Q7VUFBdEQsaURBQXNEO0VBQ3RELGlDQUF3QjtVQUF4Qix5QkFBd0IsRUFXekI7RUFqQ0w7SUF5QlEsNkJBQW9CO1lBQXBCLHFCQUFvQjtJQUNwQixXQUFVLEVBQ1g7RUEzQlA7SUE4QlEsNERBQTREO1lBQTVELG9EQUE0RDtJQUM1RCxpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQ3pCOztBQ25DUDs7S0FFRztBQUNIO0VBRUksU0FBZ0M7RUFDaEMsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQiwyRUFBa0U7VUFBbEUsbUVBQWtFLEVBV25FO0VBZkg7SUFPTSxTQUF1RDtJQUN2RCwrQ0FBc0M7SUFBdEMsdUNBQXNDLEVBQ3ZDO0VBVEw7SUFZTSxVQUFtRTtJQUNuRSxvRkFBbUU7SUFBbkUsNEVBQW1FO0lBQW5FLG9FQUFtRTtJQUFuRSxxSUFBbUUsRUFDcEU7O0FBZEw7RUFxQk0sMERBQXVEO1VBQXZELGtEQUF1RDtFQUN2RCxpQ0FBd0I7VUFBeEIseUJBQXdCLEVBV3pCO0VBakNMO0lBeUJRLDZCQUFvQjtZQUFwQixxQkFBb0I7SUFDcEIsV0FBVSxFQUNYO0VBM0JQO0lBOEJRLDJEQUEyRDtZQUEzRCxtREFBMkQ7SUFDM0QsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUN6Qjs7QUNuQ1A7O0tBRUc7QUFDSDtFQUNFLGlCQUFnQixFQThDakI7RUEvQ0Q7SUFJSSwyREFBa0Q7SUFBbEQsbURBQWtELEVBZ0JuRDtJQXBCSDtNQU9NLFFBQU87TUFDUCx1SUFFc0M7TUFGdEMsK0hBRXNDO01BRnRDLHVIQUVzQztNQUZ0QyxzTEFFc0MsRUFDdkM7SUFYTDtNQWNNLFNBQTJEO01BQzNELFNBQVE7TUFDUix3SUFFdUM7TUFGdkMsZ0lBRXVDO01BRnZDLHdIQUV1QztNQUZ2Qyx1TEFFdUMsRUFDeEM7RUFuQkw7SUF3Qk0sNkJBQW9CO1lBQXBCLHFCQUFvQjtJQUNwQiw2Q0FBb0M7WUFBcEMscUNBQW9DO0lBQ3BDLHlDQUF3QyxFQW1CekM7SUE3Q0w7TUE2QlEsWUFBaUM7TUFDakMsV0FBZ0M7TUFDaEMsNERBQStGO2NBQS9GLG9EQUErRjtNQUMvRix1SUFFdUU7TUFGdkUsK0hBRXVFO01BRnZFLHVIQUV1RTtNQUZ2RSw0TEFFdUUsRUFDeEU7SUFuQ1A7TUFzQ1EsYUFBa0M7TUFDbEMsV0FBZ0M7TUFDaEMsOERBQWlHO2NBQWpHLHNEQUFpRztNQUNqRyx3SUFFdUU7TUFGdkUsZ0lBRXVFO01BRnZFLHdIQUV1RTtNQUZ2RSw2TEFFdUUsRUFDeEU7O0FDL0NQOztLQUVHO0FBQ0g7RUFDRSxpQkFBZ0IsRUE4Q2pCO0VBL0NEO0lBSUksMkRBQWtEO0lBQWxELG1EQUFrRCxFQWdCbkQ7SUFwQkg7TUFPTSxRQUFPO01BQ1AsdUlBRXNDO01BRnRDLCtIQUVzQztNQUZ0Qyx1SEFFc0M7TUFGdEMsc0xBRXNDLEVBQ3ZDO0lBWEw7TUFjTSxTQUEyRDtNQUMzRCxTQUFRO01BQ1Isd0lBRXVDO01BRnZDLGdJQUV1QztNQUZ2Qyx3SEFFdUM7TUFGdkMsdUxBRXVDLEVBQ3hDO0VBbkJMO0lBd0JNLDZCQUFvQjtZQUFwQixxQkFBb0I7SUFDcEIsNkNBQW9DO1lBQXBDLHFDQUFvQztJQUNwQyx5Q0FBd0MsRUFtQnpDO0lBN0NMO01BNkJRLFlBQWlDO01BQ2pDLFVBQStCO01BQy9CLDhEQUFpRztjQUFqRyxzREFBaUc7TUFDakcsdUlBRXVFO01BRnZFLCtIQUV1RTtNQUZ2RSx1SEFFdUU7TUFGdkUsNExBRXVFLEVBQ3hFO0lBbkNQO01Bc0NRLGFBQWtDO01BQ2xDLFVBQStCO01BQy9CLDhEQUFpRztjQUFqRyxzREFBaUc7TUFDakcsd0lBRXVFO01BRnZFLGdJQUV1RTtNQUZ2RSx3SEFFdUU7TUFGdkUsNkxBRXVFLEVBQ3hFOztBQy9DUDs7S0FFRztBQUNIO0VBSU0sdUZBRTZCO0VBRjdCLCtFQUU2QixFQUM5Qjs7QUFQTDtFQWNRLFdBQVU7RUFDVix1RkFFbUM7RUFGbkMsK0VBRW1DLEVBQ3BDOztBQWxCUDtFQW9CUSxPQUFNLEVBQ1A7O0FBckJQO0VBd0JRLFVBQVMsRUFDVjs7QUM1QlA7O0tBRUc7QUFDSDtFQUVJLFNBQWdDLEVBWWpDO0VBZEg7SUFLTSxTQUF1RDtJQUN2RCx3REFBdUM7SUFBdkMsZ0RBQXVDO0lBQXZDLHdDQUF1QztJQUF2QywyREFBdUM7SUFDdkMseUNBQWdDO1lBQWhDLGlDQUFnQztJQUNoQyxtQ0FBMEI7WUFBMUIsMkJBQTBCLEVBQzNCO0VBVEw7SUFZTSxVQUFtRSxFQUNwRTs7QUFiTDtFQW9CTSx3REFBcUQ7VUFBckQsZ0RBQXFELEVBVXREO0VBOUJMO0lBdUJRLHdFQUFvRztZQUFwRyxnRUFBb0c7SUFDcEcsV0FBVSxFQUNYO0VBekJQO0lBNEJRLDJEQUEyRDtZQUEzRCxtREFBMkQsRUFDNUQ7O0FDaENQOztLQUVHO0FBQ0g7RUFFSSxTQUFnQyxFQVlqQztFQWRIO0lBS00sU0FBdUQ7SUFDdkQsd0RBQXVDO0lBQXZDLGdEQUF1QztJQUF2Qyx3Q0FBdUM7SUFBdkMsMkRBQXVDO0lBQ3ZDLHlDQUFnQztZQUFoQyxpQ0FBZ0M7SUFDaEMsbUNBQTBCO1lBQTFCLDJCQUEwQixFQUMzQjtFQVRMO0lBWU0sVUFBbUUsRUFDcEU7O0FBYkw7RUFvQk0seURBQXNEO1VBQXRELGlEQUFzRCxFQVV2RDtFQTlCTDtJQXVCUSxzRUFBa0c7WUFBbEcsOERBQWtHO0lBQ2xHLFdBQVUsRUFDWDtFQXpCUDtJQTRCUSwwREFBMEQ7WUFBMUQsa0RBQTBELEVBQzNEOztBQ2hDUDs7S0FFRztBQUNIO0VBRUksbUNBQTBCO1VBQTFCLDJCQUEwQjtFQUMxQiwyRUFBa0U7VUFBbEUsbUVBQWtFLEVBV25FO0VBZEg7SUFNTSxpRUFDZ0M7SUFEaEMseURBQ2dDLEVBQ2pDO0VBUkw7SUFXTSw4R0FDa0U7SUFEbEUsc0dBQ2tFO0lBRGxFLDhGQUNrRTtJQURsRSw4SkFDa0UsRUFDbkU7O0FBYkw7RUFrQk0sa0NBQXlCO1VBQXpCLDBCQUF5QjtFQUN6QixnQ0FBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLHdFQUErRDtVQUEvRCxnRUFBK0QsRUFlaEU7RUFuQ0w7SUF1QlEsT0FBTTtJQUNOLFdBQVU7SUFDVixtRUFDdUM7SUFEdkMsMkRBQ3VDLEVBQ3hDO0VBM0JQO0lBOEJRLFVBQVM7SUFDVCxrQ0FBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLDRHQUNxRTtJQURyRSxvR0FDcUU7SUFEckUsNEZBQ3FFO0lBRHJFLCtKQUNxRSxFQUN0RTs7QUNyQ1A7O0tBRUc7QUFDSDtFQUVJLG1DQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsMkVBQWtFO1VBQWxFLG1FQUFrRSxFQVduRTtFQWRIO0lBTU0saUVBQ2dDO0lBRGhDLHlEQUNnQyxFQUNqQztFQVJMO0lBV00sOEdBQ2tFO0lBRGxFLHNHQUNrRTtJQURsRSw4RkFDa0U7SUFEbEUsOEpBQ2tFLEVBQ25FOztBQWJMO0VBa0JNLG1DQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix3RUFBK0Q7VUFBL0QsZ0VBQStELEVBZWhFO0VBbkNMO0lBdUJRLE9BQU07SUFDTixXQUFVO0lBQ1YsbUVBQ3VDO0lBRHZDLDJEQUN1QyxFQUN4QztFQTNCUDtJQThCUSxVQUFTO0lBQ1QsaUNBQXdCO1lBQXhCLHlCQUF3QjtJQUN4Qiw0R0FDcUU7SUFEckUsb0dBQ3FFO0lBRHJFLDRGQUNxRTtJQURyRSwrSkFDcUUsRUFDdEU7O0FDckNQOztLQUVHO0FBQ0g7RUFFSSxTQUFnQztFQUNoQyxxREFBNEM7RUFBNUMsNkNBQTRDLEVBYTdDO0VBaEJIO0lBTU0sU0FBdUQ7SUFDdkQsNklBQ2tFO0lBRGxFLHFJQUNrRTtJQURsRSw2SEFDa0U7SUFEbEUsNkxBQ2tFLEVBQ25FO0VBVEw7SUFZTSxVQUFtRTtJQUNuRSw2SUFDa0U7SUFEbEUscUlBQ2tFO0lBRGxFLDZIQUNrRTtJQURsRSw2TEFDa0UsRUFDbkU7O0FBZkw7RUFvQk0sZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix5Q0FBd0MsRUFlekM7RUFwQ0w7SUF3QlEsT0FBTTtJQUNOLGlKQUNxRTtJQURyRSx5SUFDcUU7SUFEckUsaUlBQ3FFO0lBRHJFLG9NQUNxRTtJQUNyRSx3REFBOEY7WUFBOUYsZ0RBQThGLEVBQy9GO0VBNUJQO0lBK0JRLE9BQU07SUFDTiwySUFDcUU7SUFEckUsbUlBQ3FFO0lBRHJFLDJIQUNxRTtJQURyRSw4TEFDcUU7SUFDckUseURBQStGO1lBQS9GLGlEQUErRixFQUNoRzs7QUN0Q1A7O0tBRUc7QUFDSDtFQUVJLFVBQVM7RUFDVCxVQUFTO0VBQ1QsbUNBQTBCO1VBQTFCLDJCQUEwQjtFQUMxQiw2QkFBb0I7VUFBcEIscUJBQW9CO0VBQ3BCLDJFQUFrRTtVQUFsRSxtRUFBa0UsRUFZbkU7RUFsQkg7SUFTTSxXQUFzRTtJQUN0RSxnR0FDNkI7SUFEN0Isd0ZBQzZCLEVBQzlCO0VBWkw7SUFlTSw2SUFDa0U7SUFEbEUscUlBQ2tFO0lBRGxFLDZIQUNrRTtJQURsRSw2TEFDa0UsRUFDbkU7O0FBakJMO0VBc0JNLDBEQUFzRztVQUF0RyxrREFBc0c7RUFDdEcsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix3RUFBK0Q7VUFBL0QsZ0VBQStELEVBZWhFO0VBdkNMO0lBMkJRLE9BQU07SUFDTixXQUFVO0lBQ1YsaUdBQ21DO0lBRG5DLHlGQUNtQyxFQUNwQztFQS9CUDtJQWtDUSxPQUFNO0lBQ04saUNBQXdCO1lBQXhCLHlCQUF3QjtJQUN4QixpSkFDcUU7SUFEckUseUlBQ3FFO0lBRHJFLGlJQUNxRTtJQURyRSxvTUFDcUUsRUFDdEU7O0FDekNQOztLQUVHO0FBQ0g7RUFFSSw2SEFDNkM7RUFEN0MscUhBQzZDO0VBRDdDLDZHQUM2QztFQUQ3QyxvTEFDNkMsRUFXOUM7RUFkSDtJQU1NLGtIQUNzRTtJQUR0RSwwR0FDc0U7SUFEdEUsa0dBQ3NFO0lBRHRFLHNLQUNzRSxFQUN2RTtFQVJMO0lBV00scUhBQ3NFO0lBRHRFLDZHQUNzRTtJQUR0RSxxR0FDc0U7SUFEdEUseUtBQ3NFLEVBQ3ZFOztBQWJMO0VBa0JNLGlDQUF3QjtVQUF4Qix5QkFBd0I7RUFDeEIseUNBQXdDO0VBRXhDLHNIQUM0QztFQUQ1Qyw4R0FDNEM7RUFENUMsc0dBQzRDO0VBRDVDLHVLQUM0QyxFQWU3QztFQXJDTDtJQXlCUSxPQUFNO0lBQ04sa0NBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QixpSEFDc0U7SUFEdEUseUdBQ3NFO0lBRHRFLGlHQUNzRTtJQUR0RSxxS0FDc0UsRUFDdkU7RUE3QlA7SUFnQ1EsVUFBUztJQUNULGlDQUF3QjtZQUF4Qix5QkFBd0I7SUFDeEIsb0hBQ3NFO0lBRHRFLDRHQUNzRTtJQUR0RSxvR0FDc0U7SUFEdEUsd0tBQ3NFLEVBQ3ZFOztBQ3ZDUDs7S0FFRztBQUNIO0VBRUksNkhBQzZDO0VBRDdDLHFIQUM2QztFQUQ3Qyw2R0FDNkM7RUFEN0Msb0xBQzZDLEVBVzlDO0VBZEg7SUFNTSxrSEFDc0U7SUFEdEUsMEdBQ3NFO0lBRHRFLGtHQUNzRTtJQUR0RSxzS0FDc0UsRUFDdkU7RUFSTDtJQVdNLHFIQUNzRTtJQUR0RSw2R0FDc0U7SUFEdEUscUdBQ3NFO0lBRHRFLHlLQUNzRSxFQUN2RTs7QUFiTDtFQWtCTSxrQ0FBeUI7VUFBekIsMEJBQXlCO0VBQ3pCLHlDQUF3QztFQUV4QyxzSEFDNEM7RUFENUMsOEdBQzRDO0VBRDVDLHNHQUM0QztFQUQ1Qyx1S0FDNEMsRUFlN0M7RUFyQ0w7SUF5QlEsT0FBTTtJQUNOLGtDQUF5QjtZQUF6QiwwQkFBeUI7SUFDekIsaUhBQ3NFO0lBRHRFLHlHQUNzRTtJQUR0RSxpR0FDc0U7SUFEdEUscUtBQ3NFLEVBQ3ZFO0VBN0JQO0lBZ0NRLFVBQVM7SUFDVCxpQ0FBd0I7WUFBeEIseUJBQXdCO0lBQ3hCLG9IQUNzRTtJQUR0RSw0R0FDc0U7SUFEdEUsb0dBQ3NFO0lBRHRFLHdLQUNzRSxFQUN2RTs7QUN2Q1A7O0tBRUc7QUFDSDtFQUVJLG9DQUEyQjtVQUEzQiw0QkFBMkI7RUFDM0IsMkVBQWtFO1VBQWxFLG1FQUFrRSxFQVduRTtFQWRIO0lBTU0sK0RBQytCO0lBRC9CLHVEQUMrQixFQUNoQztFQVJMO0lBV00sOEdBQ21FO0lBRG5FLHNHQUNtRTtJQURuRSw4RkFDbUU7SUFEbkUsK0pBQ21FLEVBQ3BFOztBQWJMO0VBa0JNLGlDQUF3QjtVQUF4Qix5QkFBd0I7RUFDeEIsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix3RUFBK0Q7VUFBL0QsZ0VBQStELEVBZWhFO0VBbkNMO0lBdUJRLE9BQU07SUFDTixXQUFVO0lBQ1YsK0RBQ3FDO0lBRHJDLHVEQUNxQyxFQUN0QztFQTNCUDtJQThCUSxVQUFTO0lBQ1Qsa0NBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QiwyR0FDc0U7SUFEdEUsbUdBQ3NFO0lBRHRFLDJGQUNzRTtJQUR0RSwrSkFDc0UsRUFDdkU7O0FDckNQOztLQUVHO0FBQ0g7RUFFSSxrQ0FBeUI7VUFBekIsMEJBQXlCO0VBQ3pCLG1FQUEwRDtVQUExRCwyREFBMEQsRUFnQjNEO0VBbkJIO0lBT00sZ0NBQXVCO1lBQXZCLHdCQUF1QjtJQUN2QiwrQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLDJDQUFrQztZQUFsQyxtQ0FBa0MsRUFDbkM7RUFWTDtJQWFNLDBDQUFpQztJQUFqQyxrQ0FBaUMsRUFDbEM7RUFkTDtJQWlCTSx1REFBc0M7SUFBdEMsK0NBQXNDO0lBQXRDLHVDQUFzQztJQUF0QywwREFBc0MsRUFDdkM7O0FBbEJMO0VBdUJNLGtDQUF5QjtVQUF6QiwwQkFBeUI7RUFDekIsbUVBQTBEO1VBQTFELDJEQUEwRCxFQWdCM0Q7RUF4Q0w7SUE0QlEsNkJBQW9CO1lBQXBCLHFCQUFvQixFQUNyQjtFQTdCUDtJQWdDUSxPQUFNO0lBQ04sV0FBVSxFQUNYO0VBbENQO0lBcUNRLFVBQVM7SUFDVCxpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQ3pCOztBQzFDUDs7S0FFRztBQUNIO0VBRUksa0NBQXlCO1VBQXpCLDBCQUF5QjtFQUN6QixtRUFBMEQ7VUFBMUQsMkRBQTBELEVBZ0IzRDtFQW5CSDtJQU9NLGdDQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsK0JBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QiwyQ0FBa0M7WUFBbEMsbUNBQWtDLEVBQ25DO0VBVkw7SUFhTSwwQ0FBaUM7SUFBakMsa0NBQWlDLEVBQ2xDO0VBZEw7SUFpQk0sdURBQXNDO0lBQXRDLCtDQUFzQztJQUF0Qyx1Q0FBc0M7SUFBdEMsMERBQXNDLEVBQ3ZDOztBQWxCTDtFQXVCTSxtQ0FBMEI7VUFBMUIsMkJBQTBCO0VBQzFCLG1FQUEwRDtVQUExRCwyREFBMEQsRUFnQjNEO0VBeENMO0lBNEJRLDZCQUFvQjtZQUFwQixxQkFBb0IsRUFDckI7RUE3QlA7SUFnQ1EsT0FBTTtJQUNOLFdBQVUsRUFDWDtFQWxDUDtJQXFDUSxVQUFTO0lBQ1Qsa0NBQXlCO1lBQXpCLDBCQUF5QixFQUMxQjs7QXBIK0RUOzs7OztzQkFLc0I7QXFIL0d0Qjs7Ozs7Ozs7Ozs7bUVBV21FO0FBRW5FOztzQkFFc0I7QXBINkR0QjtFb0gxREMsd0VsSDRLNkU7RWtIM0s3RSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGVuSGUwQjtFbUhkeEIsb0NBQW1DO0VBQ25DLG1DQUFrQztFQUNwQywwQm5IRTBCLEVtSEQxQjs7QUFFRDtFQUNDLDBCbkhGMEIsRW1IRzFCOztBQUVEO0VBQ0MsWUFBVztFQUNYLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGtCQUFpQixFQXlCakI7RWpIakNHO0lpSElKO01BT0UsZ0JBQWUsRUFzQmhCLEVBQUE7RWpIOUJHO0lpSENKO01BWUUsZ0JBQWUsRUFpQmhCO01BN0JEO1FBZUcsV0FBVSxFQUNWLEVBQUE7RUFoQkg7SUFxQkUsa0JBQWlCLEVBQ2pCO0VBdEJGO0lBeUJFLGtCQUFpQixFQUNqQjs7QUFLRjs7c0JBRXNCO0FBRXRCOztFQUVDLGNBQWEsRUFDYjs7QXJDNUNHOztFcUMrQ0gsZW5IOUIwQjtFbUhnQzFCLGNBQWM7RUFPZCxjQUFjO0VBS2Qsc0JBQXNCLEVBU3RCO0VBeEJEO0lBS0UsZW5IL0J5QztJbUhnQ3pDLGNBQWE7SUFDYixzQkFBcUIsRUFDckI7RUFSRjtJQWlCRTs7OztJQUlFO0lBQ0YsZ0RBQWtELEVBQ2xEOztBQUdGOzttRUFFbUU7QUFFbkU7RUFDQyxtQ0FBa0M7RUFDbEMsaUJBQWdCO0VBQ2hCOzs7R0FHRTtFQUVGLHNEQUFzRCxFQUl0RDtFQVpEO0lBVUUsc0JBQXFCLEVBQ3JCOztBQUdGO0VBQ0MsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUNsQjs7QUFFRDtFQUNDLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsdUJBQXNCLEVBQ3RCOztBQUVEO0VBQ0MsbUJBQWtCLEVBQ2xCOztBQUVEO0VBQ0MsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsMEJBQXlCO0VBQ3pCLG9CQUFtQixFQUNuQjs7QUFFRDs7c0JBRXNCO0FBRXRCO0VBS0MsZUFBYztFQUNkLFlBQVc7RUFDWCxhQUFZO0VBQ1osNENBQTJDO0VBQzNDLDZCQUE0QjtFQUM1QixrQ0FBaUM7RUFFakMsVUFBUztFQUNULFlBQVc7RUFFWCxtQ0FBdUI7VUFBdkIsMkJBQXVCLEVBYXZCO0VBNUJEO0lBRUUsY0FBYSxFQUNiO0VqSDFIRTtJaUh1SEo7TUFtQkUsK0JBQXFCO2NBQXJCLHVCQUFxQjtNQUNyQixVQUFTO01BQ1QsWUFBVyxFQU9aLEVBQUE7RUE1QkQ7SUF5QkUsbUNBQWtDLEVBQ2xDOztBQUlGO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUVEOzs7RUFHQyxVQUFTLEVBQ1Q7O0FBRUQsZUFBZTtBQUNmO0VBQ0MsZW5IdkowQjtFbUh3SjFCLG1CQUFrQjtFQUNsQixVQUFTLEVBR1Q7O0FBRUQ7RUFFQyxnQkFBZSxFQStCZjtFakh6TUc7SWlId0tKO01BS0UsZ0JBQWUsRUE0QmhCLEVBQUE7RUFqQ0Q7SUFVRSxpQkFBZ0IsRUFxQmhCO0lqSHZNRTtNaUh3S0o7UUFhRyxpQkFBZ0IsRUFrQmpCLEVBQUE7SUEvQkY7TUFpQkcsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixZQUFXLEVBV1g7TWpIek1DO1FpSDJLSjtVQXNCSSxhQUFZLEVBUWIsRUFBQTtNakh0TUM7UWlId0tKO1VBMEJJLGNBQWE7VUFDYixZQUFXO1VBQ1gsZUFBYyxFQUVmLEVBQUE7O0FBS0g7RUFDQyxnQkFBZTtFQUNmLGVBQWM7RUFFZCw4QkFBOEIsRUFhOUI7RUFqQkQ7SUFNRSxnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixZQUFXLEVBQ1g7RUFURjtJQVlFLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsbUJBQWtCLEVBQ2xCOztBQUVBLHFCQUFxQjtBQUV2QiwwQkFBMEI7QUFleEIsa0JBQWtCO0FBRXBCLDRCQUE0QjtBQVM1QjtFQUNDLFVBQVMsRUFDVDs7QUFFRDs7bUVBRW1FO0FBRW5FOztFQUVDLHVCQUFzQixFQUN0Qjs7QUFFRDtFQUNDLG1CQUFrQixFQWtEbEI7RUFuREQ7SUFJRyxzQkFBcUI7SUFDckIsb0JBQW1CO0lBQ25CLFdBQVU7SUFDVixZQUFXLEVBQ1o7RUFSRjtJQVdHLFdBQVU7SUFDVixlQUFjO0lBQ2QsWUFBVztJQUNYLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ2pCO0VBaEJGO0lBbUJHLFVBQVM7SUFDVCxzQkFBcUI7SUFDckIsV0FBVTtJQUNWLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGVBQWM7SUFFZCxZQUFXO0lBQ1gsYUFBWTtJQUNaLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsYUFBWTtJQUNaLHdCQUF1QjtJQUN2QixpQkFBZ0IsRUFNakI7SUF2Q0Y7TUFvQ0ksdUJuSDNTb0I7TW1INFNwQixlbkh4U1ksRW1IeVNaO0VBdENKO0lBMENFLGdCQUFlO0lBQ2YsZW5IOVNjO0ltSCtTWix1Qm5IblRvQixFbUh5VHRCO0lBbERGO01BK0NHLGVuSGxUYTtNbUhtVFgsdUJuSHZUbUIsRW1Id1RyQjs7QUFJSDtFQUVFLGlCQUFnQixFQUNoQjs7QUFHRjtFQUVFLGlCQUFnQixFQUNoQjs7QUFLRjs7RUFFQyxtQkFBa0IsRUE2QmxCO0VqSHZXRztJaUh3VUo7O01BS0UsY0FBYSxFQTBCZCxFQUFBO0VqSHBXRztJaUhxVUo7O01BU0UsY0FBYSxFQXNCZCxFQUFBO0VBL0JEOztJQWFFLGFBQVksRUFDWjtFQWRGOztJQWlCRSxvQkFBbUIsRUFLbkI7SWpIOVZFO01pSHdVSjs7UUFvQkcsb0JBQW1CLEVBRXBCLEVBQUE7RUF0QkY7O0lBeUJFLGlCQUFnQixFQUtoQjtJakh0V0U7TWlId1VKOztRQTRCRyxtQkFBa0IsRUFFbkIsRUFBQTs7QUFHRjtFQUNDLGlCQUFnQixFQUNoQjs7QUFHRDtFQUVFLG1CQUFrQixFQUNsQjs7QWpIcFhFO0VpSDBYSDtJQUVDLHVEQUF1RCxFQWtCdkQ7SUFwQkQ7TUFJRSxvQkFBbUI7TUFDbkIsZ0JBQWU7TUFDZixZQUFXLEVBQ1g7SUFQRjtNQVNFLG1CQUFrQjtNQUNsQixnQkFBZTtNQUNmLGFBQVksRUFDWjtJQVpGO01BY0UsbUJBQWtCO01BQ2xCLGtCQUFpQjtNQUNqQixlQUFjO01BQ2QsWUFBVyxFQUNYO0VBRUEsd0JBQXdCLEVBQUE7O0FDdGEzQjtFQUl5QiwwQ0FBMEM7RUFDekQsZXBIK0JpQjtFb0g5QmpCLFdBQVU7RUFBRSxhQUFhLEVBQzFCOztBQVBUO0VBSXlCLDBDQUEwQztFQUN6RCxlcEgrQmlCO0VvSDlCakIsV0FBVTtFQUFFLGFBQWEsRUFDMUI7O0FBUFQ7RUFJeUIsMENBQTBDO0VBQ3pELGVwSCtCaUI7RW9IOUJqQixXQUFVO0VBQUUsYUFBYSxFQUMxQjs7QUFQVDtFQUl5QiwwQ0FBMEM7RUFDekQsZXBIK0JpQjtFb0g5QmpCLFdBQVU7RUFBRSxhQUFhLEVBQzFCOztBQVBUO0VBU2tDLDZCQUE2QjtFQUNyRCxlcEgwQmlCLEVvSHpCbEI7O0FBWFQ7RUFhbUMsb0JBQW9CO0VBQzdDLGVwSHNCaUIsRW9IckJsQjs7QUFNVDtFQUNJLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsMEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFldEI7RUFsQkQ7O0lBT1EsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsZUFBYztJQUNkLHNCQUFxQixFQU14QjtJQWpCTDs7TUFjWSwyQkFBMEI7TUFDMUIsYUFBWSxFQUNmOztBQUlUO0VBQ0ksZ0JBQWUsRUF1RmxCO0VsSG5HRztJa0hXSjtNQUlRLGdCQUFlLEVBb0Z0QjtNQXhGRDtRQU9ZLGdCQUFlLEVBQ2xCLEVBQUE7RWxIaEJMO0lrSFFKO01BWVEsbUJBQWtCLEVBNEV6QixFQUFBO0VBeEZEO0lBZ0JRLDBCQUF5QjtJQUN6QixhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixXQUFVO0luSDVDZCxvQ0FBbUM7SUFDbkMsaUJBQWdCO0lBQ2hCLG1CQUFrQixFbUg0Q2pCO0VBdEJMO0lBMEJRLGlCQUFnQixFQWVuQjtJQXpDTDtNbkhrQkksb0NBQW1DO01BQ25DLGlCQUFnQjtNQUNoQixtQkFBa0I7TUE4R2xCLGlCQUFnQjtNbUhwR1IsYUFBWTtNQUNaLGlCQUFnQixFQUtuQjtNbEhsREw7UWtIY0o7VW5IcUlRLGVBQWMsRW1IakdiLEVBQUE7TUFwQ1Q7UUFrQ2dCLDJCQUEwQixFQUM3QjtJQW5DYjtNQXVDWSxvQkFBbUIsRUFDdEI7RUF4Q1Q7SUE2Q1EsaUJBQWdCLEVBTW5CO0lBbkRMO01BZ0RZLG9CQUFtQixFQUN0QjtFQWpEVDtJQXNEUSxxQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix3QkFBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQixvQkFBZTtRQUFmLGdCQUFlLEVBOEJsQjtJQXZGTDtNQTREWSxlQUFjO01BQ2QsYUFBWTtNQUNaLGFBQVk7TUFDWixzQkFBcUI7TUFDckIscUJBQW9CO01BQ3BCLDRDQUEyQztNQUMzQyw2QkFBNEIsRUFvQi9CO01BdEZUO1FBcUVnQixrQ0FBaUMsRUFDcEM7TUF0RWI7UUF3RWdCLG1DQUFrQyxFQUNyQztNQXpFYjtRQTJFZ0IsbUNBQWtDLEVBQ3JDO01BNUViO1FBOEVnQixrQ0FBaUMsRUFDcEM7TUEvRWI7UUFpRmdCLG1DQUFrQyxFQUNyQztNQWxGYjtRQW9GZ0IsbUNBQWtDLEVBQ3JDOztBQUtiO0VBRUksZ0JBQWUsRUFzQmxCO0VsSGhJRztJa0h3R0o7TUFLUSxnQkFBZSxFQW1CdEIsRUFBQTtFQXhCRDtJQVNRLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsWXBIckhnQjtJb0hzSGhCLG9CQUFtQixFQVd0QjtJQXZCTDs7TUFnQlksYUFBWSxFQU1mO01BdEJUOztRQW1CZ0IsYUFBWTtRQUNaLDJCQUEwQixFQUM3Qjs7QUN4SmI7RUFDRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFtQjtFQUFuQiw4QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQiwwQkFBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QjtFQUM5QiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQU1wQjtFQVZEO0lBT0ksbUJBQWtCO0lBQ2xCLGNBQWEsRUFDZDs7QUNUSDtFQUVRLGNBQWEsRUFDaEI7O0FBSEw7RUFNUSxjQUFhLEVBYWhCO0VwSFFEO0lvSDNCSjtNQVNZLGNBQWEsRUFVcEIsRUFBQTtFQW5CTDtJQWFZLGlCQUFnQixFQUtuQjtJQWxCVDtNQWdCZ0IsY0FBYSxFQUNoQjs7QUFNYjtFQUVJLGdCQUFlLEVBNEJsQjtFcEgxQkc7SW9ISko7TUFLUSxnQkFBZSxFQXlCdEIsRUFBQTtFcEh2Qkc7SW9IUEo7TUFTUSxpQkFBZ0IsRUFxQnZCLEVBQUE7RUE5QkQ7O0lBY1EsaUJBQWdCLEVBQ25CO0VBZkw7SUFrQlEsb0JBQW1CO0lBQ25CLG1CQUFrQixFQVVyQjtJQTdCTDtNQXNCWSxZQUFXO01BQ1gsaUJBQWdCLEVBS25CO01wSHJCTDtRb0hQSjtVQTBCZ0IsaUJBQWdCLEVBRXZCLEVBQUE7O0FBSVQ7RUFFSSxnQkFBZSxFQThDbEI7RXBINUVHO0lvSDRCSjtNQUtRLGdCQUFlLEVBMkN0QixFQUFBO0VwSHpFRztJb0h5Qko7TUFTUSxpQkFBZ0IsRUF1Q3ZCLEVBQUE7RXBIdEVHO0lvSHNCSjtNQWFRLGlCQUFnQixFQW1DdkIsRUFBQTtFQWhERDtJQWlCUSxXQUFVLEVBYWI7SXBIMUREO01vSDRCSjtRQW9CWSxnQkFBZSxFQVV0QixFQUFBO0lBOUJMO01Bd0JZLGlCQUFnQixFQUNuQjtJQXpCVDtNQTRCWSxpQkFBZ0IsRUFDbkI7RUE3QlQ7SUFpQ1EsV0FBVTtJQUNWLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQTJCO0lBQTNCLCtCQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCLEVBVzlCO0lwSDFFRDtNb0g0Qko7UUFzQ1ksZ0JBQWUsRUFRdEIsRUFBQTtJcEh2RUQ7TW9IeUJKO1FBMENZLGlCQUFnQixFQUl2QixFQUFBOztBQUlMO0VBR1EsWUFBVztFQUNYLFVBQVM7RUFDVCxvQkFBbUI7RUFDbkIsb0JBQW1CO0VBQ25CLDBCdEh0Rm1CO0VzSHVGbkIsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQXlEckI7RUFsRUw7SUFZWSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxlQUFjO0lBQ2QsWUFBVztJQUNYLGFBQVk7SUFDWix1QkFBc0I7SUFDdEIsbUNBQWtDLEVBQ3JDO0VBcEJUO0lBdUJZLHdCQUF1QjtJQUN2QixldEhwR0k7SXNIcUdKLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBTztJQUNQLGVBQWM7SUFDZCxZQUFXO0lBQ1gsYUFBWTtJQUNaLDZCQUE0QjtJQUM1QixXQUFVO0lBQ1Ysa0NBQXlCO0lBQXpCLDBCQUF5QjtJQUN6QixjQUFhLEVBMEJoQjtJcEgxSUw7TW9IOEVKO1FBc0NnQixlQUFjLEVBc0JyQixFQUFBO0lBNURUO01BMkNnQixldEh2SEE7TUNFWixvQ0FBbUM7TUFDbkMsaUJBQWdCO01BQ2hCLG1CQUFrQjtNcUhxSE4sZUFBYztNQUNkLG9CQUFtQjtNQUNuQixpQkFBZ0I7TUFDaEIsY0FBYSxFQUNoQjtJQWpEYjtNQW9EZ0IsaUJBQWdCLEVBQ25CO0lBckRiO01Bd0RnQixtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLFlBQVcsRUFDZDtFQTNEYjtJQStEWSxXQUFVLEVBQ2I7O0FBaEVUO0VBcUVRLGFBQVk7RXJIL0loQixvQ0FBbUM7RUFDbkMsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFcUgrSWQsZUFBYztFQUNkLFVBQVM7RUFDVCxpQkFBZ0IsRUFDbkI7O0FBR0w7RUFHUSxjQUFhO0VBQ2IsYUFBWTtFQUNaLGtDQUF5QjtFQUF6QiwwQkFBeUI7RUFDekIsbUJBQWtCLEVBNENyQjtFcEgxTUQ7SW9Id0pKO01BU1ksbUJBQWtCLEVBeUN6QixFQUFBO0VBbERMO0lySHZKSSxvQ0FBbUM7SUFDbkMsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJcUhtS1YsYUFBWTtJQUNaLG9CQUFtQixFQUN0QjtFQWhCVDtJQW1CWSxpQkFBZ0IsRUFDbkI7RUFwQlQ7SUF1QlksZ0JBQWU7SUFDZixzQkFBcUIsRUFrQnhCO0lBMUNUO01BMkJnQiwwQnRIdkxXLEVzSHdMZDtJQTVCYjtNQStCZ0IsdUJ0SDVMUTtNc0g2TFIsNEJ0SDdMUTtNc0g4TFIsMkJ0SDlMUTtNc0grTFIsZXRIOUxXLEVzSHFNZDtNQXpDYjtRQXFDb0IsNEJ0SGxNSTtRc0htTUosMkJ0SG5NSSxFc0hvTVA7RUF2Q2pCO0lBNkNZLGlCQUFnQixFQUNuQjs7QUE5Q1Q7RUFxRFEscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDbkI7O0FBSUw7RUFDSSxjQUFhO0VBQ2Isb0JBQW1CO0VBQ25CLGFBQVk7RUFDWixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQXdDMUI7RXBIdlFHO0lvSHdOSjtNQVVRLG1CQUFrQixFQXFDekIsRUFBQTtFQS9DRDtJQWNRLGlCQUFnQjtJQUNoQixhQUFZLEVBTWY7SUFyQkw7TUFrQlksd0JBQXVCO01BQ3ZCLGV0SHpPSSxFc0gwT1A7RUFwQlQ7SUF3QlEsWXRIbFBnQjtJc0htUGhCLGVBQWM7SUFDZCxpQkFBZ0I7SUFDaEIsZ0JBQWUsRUFRbEI7SUFuQ0w7OztNQWdDWSxZdEgxUFk7TXNIMlBaLDJCQUEwQixFQUM3QjtFQWxDVDtJQXNDUSxZQUFXLEVBUWQ7SUE5Q0w7TUF5Q1kscUJBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw2QkFBc0I7TUFBdEIsOEJBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0I7TUFDdEIseUJBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIseUJBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUIsRUFDMUI7O0FBS1Q7RUFDSSwwQnRINVF1QixFc0g2UTFCOztBQUVEO0VBQ0ksMEJ0SDNRdUIsRXNINFExQjs7QUFFRDtFQUNJLG9CQUFtQixFQStEdEI7RUFoRUQ7SUFJUSxnQkFBZTtJQUNmLG1CQUFrQixFQUNyQjtFQU5MO0lBU1EsZUFBYztJQUNkLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsZ0JBQWU7SUFDZixtQkFBa0IsRUFrRHJCO0lBL0RMO01BaUJZLFlBQVc7TUFDWCxZQUFXO01BQ1gsYUFBWTtNQUNaLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsNENBQTJDO01BQzNDLDZCQUE0QixFQUMvQjtJQXhCVDtNQTJCWSxXQUFVO01BQ1Ysa0NBQWlDLEVBQ3BDO0lBN0JUO01BZ0NZLFlBQVc7TUFDWCxtQ0FBa0MsRUFDckM7SUFsQ1Q7TUFxQ1ksbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixVQUFTO01BQ1QsV0FBVTtNckh4U2xCLG9DQUFtQztNQUNuQyxpQkFBZ0I7TUFDaEIsbUJBQWtCO01xSHlTVixpQkFBZ0IsRUFDbkI7SUE1Q1Q7TUE4Q1ksbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixjQUFhO01BQ2IsV0FBVTtNckhyUmxCLG9DQUFtQztNQUNuQyxpQkFBZ0I7TUFDaEIsbUJBQWtCO01xSHFSVixpQkFBZ0IsRUFFbkI7SUFyRFQ7TUF1RFksbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixVQUFTO01BQ1QsV0FBVTtNckgxVGxCLG9DQUFtQztNQUNuQyxpQkFBZ0I7TUFDaEIsbUJBQWtCO01xSDBUVixpQkFBZ0IsRUFFbkI7O0FBSVQ7RUFDSSwwQnRIcFZjO0VzSHFWZCxjQUFhO0VBQ2IsYUFBWSxFQWdEZjtFcEh2WUc7SW9Ib1ZKO01BTVEsY0FBYSxFQTZDcEIsRUFBQTtFcEhwWUc7SW9IaVZKO01BVVEsZUFBYyxFQXlDckIsRUFBQTtFQW5ERDtJckhsVUksb0NBQW1DO0lBQ25DLGlCQUFnQjtJQUNoQixtQkFBa0I7SXFIK1VkLGFBQVk7SUFDWixlQUFjO0lBQ2QsbUJBQWtCLEVBQ3JCO0VBbEJMO0lBcUJRLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lySHRTdEIscUNBQW9DO0lBQ3BDLGlCQUFnQjtJQUNoQixtQkFBa0IsRXFIOFNqQjtJcEhyWEQ7TW9Ib1ZKO1FBMkJZLGlCQUFnQixFQU12QixFQUFBO0lwSGxYRDtNb0hpVko7UUErQlksaUJBQWdCLEVBRXZCLEVBQUE7RUFqQ0w7SXJIaFZJLG9DQUFtQztJQUNuQyxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lxSG1YZCxhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUtyQjtJQTVDTDtNQTBDWSxpQkFBZ0IsRUFDbkI7RUEzQ1Q7O0lBZ0RRLGFBQVksRUFDZjs7QUM1WkQ7RUFHUSwwQnZIcUJNLEV1SHBCVDs7QUFKTDtFQU9RLGV2SGlCTSxFdUhoQlQ7O0FBSUw7RUFDSSwwQnZIV1UsRXVIVmI7O0FBRUQ7O0VBSVEsMEJ2SElNLEV1SEhUOztBQUlMO0VBQ0ksMEJ2SEZVLEV1SEdiOztBQUVIO0VBQ00sMEJ2SE5VLEV1SE9iOztBQS9CRDtFQUdRLDBCdkhtQmUsRXVIbEJsQjs7QUFKTDtFQU9RLGV2SGVlLEV1SGRsQjs7QUFJTDtFQUNJLDBCdkhTbUIsRXVIUnRCOztBQUVEOztFQUlRLDBCdkhFZSxFdUhEbEI7O0FBSUw7RUFDSSwwQnZISm1CLEV1SEt0Qjs7QUFFSDtFQUNNLDBCdkhSbUIsRXVIU3RCOztBQS9CRDtFQUdRLDBCdkh3QmUsRXVIdkJsQjs7QUFKTDtFQU9RLGV2SG9CZSxFdUhuQmxCOztBQUlMO0VBQ0ksMEJ2SGNtQixFdUhidEI7O0FBRUQ7O0VBSVEsMEJ2SE9lLEV1SE5sQjs7QUFJTDtFQUNJLDBCdkhDbUIsRXVIQXRCOztBQUVIO0VBQ00sMEJ2SEhtQixFdUhJdEI7O0FBL0JEO0VBR1EsMEJ2SHVCTSxFdUh0QlQ7O0FBSkw7RUFPUSxldkhtQk0sRXVIbEJUOztBQUlMO0VBQ0ksMEJ2SGFVLEV1SFpiOztBQUVEOztFQUlRLDBCdkhNTSxFdUhMVDs7QUFJTDtFQUNJLDBCdkhBVSxFdUhDYjs7QUFFSDtFQUNNLDBCdkhKVSxFdUhLYjs7QUEvQkQ7RUFHUSwwQnZIb0JlLEV1SG5CbEI7O0FBSkw7RUFPUSxldkhnQmUsRXVIZmxCOztBQUlMO0VBQ0ksMEJ2SFVtQixFdUhUdEI7O0FBRUQ7O0VBSVEsMEJ2SEdlLEV1SEZsQjs7QUFJTDtFQUNJLDBCdkhIbUIsRXVISXRCOztBQUVIO0VBQ00sMEJ2SFBtQixFdUhRdEI7O0FBL0JEO0VBR1EsMEJ2SHNCSSxFdUhyQlA7O0FBSkw7RUFPUSxldkhrQkksRXVIakJQOztBQUlMO0VBQ0ksMEJ2SFlRLEV1SFhYOztBQUVEOztFQUlRLDBCdkhLSSxFdUhKUDs7QUFJTDtFQUNJLDBCdkhEUSxFdUhFWDs7QUFFSDtFQUNNLDBCdkhMUSxFdUhNWDs7QUEvQkQ7RUFHUSwwQnZIbUJlLEV1SGxCbEI7O0FBSkw7RUFPUSxldkhlZSxFdUhkbEI7O0FBSUw7RUFDSSwwQnZIU21CLEV1SFJ0Qjs7QUFFRDs7RUFJUSwwQnZIRWUsRXVIRGxCOztBQUlMO0VBQ0ksMEJ2SEptQixFdUhLdEI7O0FBRUg7RUFDTSwwQnZIUm1CLEV1SFN0Qjs7QUEvQkQ7RUFHUSwwQnZIcUJNLEV1SHBCVDs7QUFKTDtFQU9RLGV2SGlCTSxFdUhoQlQ7O0FBSUw7RUFDSSwwQnZIV1UsRXVIVmI7O0FBRUQ7O0VBSVEsMEJ2SElNLEV1SEhUOztBQUlMO0VBQ0ksMEJ2SEZVLEV1SEdiOztBQUVIO0VBQ00sMEJ2SE5VLEV1SE9iOztBQS9CRDtFQUdRLDBCdkhxQk0sRXVI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QUM1QixnQ0FBc0I7WUFBdEIsd0JBQXNCO0lBQ3RCLDRCQUEyQixFQUM1QjtFN0RPQzs7STZESkEsdUJBQXNCO0lBQ3RCLDJCQUEwQixFQVczQjtJQWJEO01BTUksNkJBQTRCLEVBQzdCO0lBUEg7TUFXSSw4QkFBNkIsRUFDOUI7RUFHSDs7O0lBR0UsWUFBVyxFQUNaO0U3RFhDOztJNkRjQSx1QkFBc0I7SUFDdEIseUJBQXdCLEVBQ3pCO0U3RFZDO0k2RGFBLDRCQUEyQixFQUM1QjtFN0RaQzs7STZEZUEseUJBQXdCLEVBQ3pCO0U1SWdQSDtJNEk3T0ksMkJBQTBCLEVBQzNCO0VBRUM7SUFDRSxjQUFhLEVBQUE7RTdEaEJmOzs7STZEb0JFLFdBQVU7SUFDVixVQUFTLEVBQ1Y7RTdEZkQ7O0k2RG1CRSx3QkFBdUIsRUFDeEI7RUFHRDs7Ozs7SUFLRSxjQUFhLEVBQ2QsRUFBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgTWFkZSB3aXRoIEJvbmVzOiBodHRwOi8vdGhlbWJsZS5jb20vYm9uZXMgOikgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNpdGUgTmFtZTpcbkF1dGhvcjpcblxuU3R5bGVzaGVldDogTWFpbiBTdHlsZXNoZWV0XG5cbkhlcmUncyB3aGVyZSB0aGUgbWFnaWMgaGFwcGVucy4gSGVyZSwgeW91J2xsIHNlZSB3ZSBhcmUgY2FsbGluZyBpblxudGhlIHNlcGFyYXRlIG1lZGlhIHF1ZXJpZXMuIFRoZSBiYXNlIG1vYmlsZSBnb2VzIG91dHNpZGUgYW55IHF1ZXJ5XG5hbmQgaXMgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcsIGFmdGVyIHRoYXQgd2UgY2FsbCB0aGUgcmVzdFxub2YgdGhlIHN0eWxlcyBpbnNpZGUgbWVkaWEgcXVlcmllcy5cblxuSGVscGZ1bCBhcnRpY2xlcyBvbiBTYXNzIGZpbGUgb3JnYW5pemF0aW9uOlxuaHR0cDovL3RoZXNhc3N3YXkuY29tL2FkdmFuY2VkL21vZHVsYXItY3NzLW5hbWluZy1jb252ZW50aW9uc1xuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG5JTVBPUlRJTkcgUEFSVElBTFNcblRoZXNlIGZpbGVzIGFyZSBuZWVkZWQgYXQgdGhlIGJlZ2lubmluZyBzbyB0aGF0IHdlIGVzdGFibGlzaCBhbGxcbm91ciBtaXhpbnMsIGZ1bmN0aW9ucywgYW5kIHZhcmlhYmxlcyB0aGF0IHdlJ2xsIGJlIHVzaW5nIGFjcm9zc1xudGhlIHdob2xlIHByb2plY3QuXG4qKioqKioqKioqKioqKioqKioqKiovXG4vKiBub3JtYWxpemUuY3NzIDIwMTItMDctMDdUMDk6NTAgVVRDIC0gaHR0cDovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcsXG4uc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuZGZuLFxuZW0sXG4uZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKlxuICogcHJvcGVyIGZvcm1hdHRpbmcgKGh0dHA6Ly9ibG9nLmZvbnRkZWNrLmNvbS9wb3N0LzkwMzcwMjg0OTcvaHlwaGVucylcbiovXG5wIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtZXB1Yi1oeXBoZW5zOiBhdXRvO1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87IH1cblxuLypcbiAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvNy5cbiAqL1xucHJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnE6YmVmb3JlLFxucTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lOyB9XG5cbnNtYWxsLCAuc21hbGwge1xuICBmb250LXNpemU6IDc1JTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTGlzdHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFNi83LlxuICovXG5kbCxcbm1lbnUsXG5vbCxcbnVsIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG5kZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKlxuICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvNy5cbiAqL1xubWVudSB7XG4gIHBhZGRpbmc6IDAgMCAwIDQwcHg7IH1cblxub2wsXG51bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4vKlxuICogQ29ycmVjdHMgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRTcuXG4gKi9cbm5hdiB1bCxcbm5hdiBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRW1iZWRkZWQgY29udGVudFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5pbWFnZS1yZXBsYWNlbWVudCxcbi5pciB7XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jbGVhcmZpeCwgLmNmIHtcbiAgem9vbTogMTsgfVxuICAuY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIsIC5jZjpiZWZvcmUsIC5jZjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY2xlYXJmaXg6YWZ0ZXIsIC5jZjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLypcbnVzZSB0aGUgYmVzdCBhbXBlcnNhbmRcbmh0dHA6Ly9zaW1wbGViaXRzLmNvbS9ub3RlYm9vay8yMDA4LzA4LzE0L2FtcGVyc2FuZHMtMi9cbiovXG5zcGFuLmFtcCB7XG4gIGZvbnQtZmFtaWx5OiBCYXNrZXJ2aWxsZSwnR291ZHkgT2xkIFN0eWxlJyxQYWxhdGlubywnQm9vayBBbnRpcXVhJyxzZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU2l0ZSBOYW1lOlxuQXV0aG9yOlxuXG5TdHlsZXNoZWV0OiBWYXJpYWJsZXNcblxuSGVyZSBpcyB3aGVyZSB3ZSBkZWNsYXJlIGFsbCBvdXIgdmFyaWFibGVzIGxpa2UgY29sb3JzLCBmb250cyxcbmJhc2UgdmFsdWVzLCBhbmQgZGVmYXVsdHMuIFdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoaXMgZmlsZSBPTkxZXG5jb250YWlucyB2YXJpYWJsZXMgdGhhdCB3YXkgb3VyIGZpbGVzIGRvbid0IGdldCBhbGwgbWVzc3kuXG5ObyBvbmUgbGlrZXMgYSBtZXNzLlxuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT0xPUlNcbk5lZWQgaGVscCB3LyBjaG9vc2luZyB5b3VyIGNvbG9ycz8gVHJ5IHRoaXMgc2l0ZSBvdXQ6XG5odHRwOi8vMHRvMjU1LmNvbS9cbioqKioqKioqKioqKioqKioqKioqKi9cbi5iZy1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbi5iZy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5O1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbi5iZy1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7IH1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNHMgZWFzZTsgfVxuXG4uYmctdmlvbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNHMgZWFzZTsgfVxuXG4uYmctYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7IH1cblxuLmJnLXBpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbi5iZy1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7IH1cblxuLmJnLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbi8qXG4gaSBpbXBvcnRlZCB0aGlzIG9uZSBpbiB0aGUgZnVuY3Rpb25zIGZpbGUgc28gYm9uZXMgd291bGQgbG9vayBzd2VldC5cbiBkb24ndCBmb3JnZXQgdG8gcmVtb3ZlIGl0IGZvciB5b3VyIHNpdGUuXG4qL1xuLypcbnNvbWUgbmljZSB0eXBvZ3JhcGhpY2FsIGRlZmF1bHRzXG5tb3JlIGhlcmU6IGh0dHA6Ly93d3cubmV3bmV0LXNvZnQuY29tL2Jsb2cvY3NzdHlwb2dyYXBoeVxuKi9cbnAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6IG5vbmU7XG4gIGh5cGhlbmF0ZS1saW5lczogMztcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2FcIiwgXCJkbGlnXCI7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU2l0ZSBOYW1lOlxuQXV0aG9yOlxuXG5TdHlsZXNoZWV0OiBNaXhpbnMgU3R5bGVzaGVldFxuXG5UaGlzIGlzIHdoZXJlIHlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgU2FzcycgZ3JlYXQgZmVhdHVyZXM6IE1peGlucy5cbkkgd29uJ3QgZ28gaW4tZGVwdGggb24gaG93IHRoZXkgd29yayBleGFjdGx5LFxudGhlcmUgYXJlIGEgZmV3IGFydGljbGVzIGJlbG93IHRoYXQgd2lsbCBoZWxwIGRvIHRoYXQuIFdoYXQgSSB3aWxsXG50ZWxsIHlvdSBpcyB0aGF0IHRoaXMgd2lsbCBoZWxwIHNwZWVkIHVwIHNpbXBsZSBjaGFuZ2VzIGxpa2VcbmNoYW5naW5nIGEgY29sb3Igb3IgYWRkaW5nIENTUzMgdGVjaG5pcXVlcyBncmFkaWVudHMuXG5cbkEgV09SRCBPRiBXQVJOSU5HOiBJdCdzIHZlcnkgZWFzeSB0byBvdmVyZG8gaXQgaGVyZS4gQmUgY2FyZWZ1bCBhbmRcbnJlbWVtYmVyIGxlc3MgaXMgbW9yZS5cblxuSGVscGZ1bDpcbmh0dHA6Ly9zYWNoYWdyZWlmLmNvbS91c2VmdWwtc2Fzcy1taXhpbnMvXG5odHRwOi8vdGhlc2Fzc3dheS5jb20vaW50ZXJtZWRpYXRlL2xldmVyYWdpbmctc2Fzcy1taXhpbnMtZm9yLWNsZWFuZXItY29kZVxuaHR0cDovL3dlYi1kZXNpZ24td2Vla2x5LmNvbS9ibG9nLzIwMTMvMDUvMTIvaGFuZHktc2Fzcy1taXhpbnMvXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICogMy4gU3R5bGVcbiAqL1xuaHRtbCB7XG4gIC8qIDEgKi9cbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuYSxcbi51ay1saW5rIHtcbiAgY29sb3I6ICNmMDFkNGY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gIGNvbG9yOiAjMGY2ZWNkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBFZGdlLlxuICogMi4gVGhlIHNob3J0aGFuZCBkZWNsYXJhdGlvbiBgdW5kZXJsaW5lIGRvdHRlZGAgaXMgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gIC8qIDEgKi9cbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTtcbiAgLyogMiAqL1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiAzICovXG4gIGNvbG9yOiAjZjA1MDZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuZW0ge1xuICBjb2xvcjogIzVjNmI4MDsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cbmlucyB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIE1hcmtcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qXG4gKiBRdW90ZVxuICovXG5xIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IGF1dG87XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG4gIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIEZpeCBsYXp5IGxvYWRpbmcgaW1hZ2VzIGlmIHBhcmVudCBlbGVtZW50IGlzIHNldCB0byBgZGlzcGxheTogaW5saW5lYCBhbmQgaGFzIGBvdmVyZmxvdzogaGlkZGVuYC5cbiAqIDIuIEhpZGUgYGFsdGAgdGV4dCBmb3IgbGF6eSBsb2FkaW5nIGltYWdlcy5cbiAqIE5vdGU6IFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuaW1nOm5vdChbc3JjXSkge1xuICAvKiAxICovXG4gIG1pbi13aWR0aDogMXB4O1xuICAvKiAyICovXG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5pZnJhbWUge1xuICBib3JkZXI6IDA7IH1cblxuLyogQmxvY2sgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1hcmdpbnNcbiAqL1xucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDAgMDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBwLFxuKiArIHVsLFxuKiArIG9sLFxuKiArIGRsLFxuKiArIHByZSxcbiogKyBhZGRyZXNzLFxuKiArIGZpZWxkc2V0LFxuKiArIGZpZ3VyZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEsIC51ay1oMSxcbmgyLCAudWstaDIsXG5oMywgLnVrLWgzLFxuaDQsIC51ay1oNCxcbmg1LCAudWstaDUsXG5oNiwgLnVrLWg2LFxuLnVrLWhlYWRpbmctc21hbGwsXG4udWstaGVhZGluZy1tZWRpdW0sXG4udWstaGVhZGluZy1sYXJnZSxcbi51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIGZvbnQtZmFtaWx5OiBcInBsYXlmYWlyLWRpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2LFxuKiArIC51ay1oZWFkaW5nLXNtYWxsLFxuKiArIC51ay1oZWFkaW5nLW1lZGl1bSxcbiogKyAudWstaGVhZGluZy1sYXJnZSxcbiogKyAudWstaGVhZGluZy14bGFyZ2UsXG4qICsgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cbmgxLCAudWstaDEge1xuICBmb250LXNpemU6IDIuMjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuaDIsIC51ay1oMiB7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbmgzLCAudWstaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNCwgLnVrLWg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg1LCAudWstaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDYsIC51ay1oNiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBDaHJvbWUsIEVkZ2UgYW5kIElFLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBTdHlsZVxuICovXG5ociwgLnVrLWhyIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAvKiAzICovXG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBocixcbiogKyAudWstaHIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY2NjsgfVxuICBibG9ja3F1b3RlIGZvb3Rlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQ6IDAuODc1cmVtIC8gMS41IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTtcbiAgY29sb3I6ICM2NjY7XG4gIC1tb3otdGFiLXNpemU6IDQ7XG4gIHRhYi1zaXplOiA0O1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxucHJlIGNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlOyB9XG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzOWY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5kZXRhaWxzLFxubWFpbiB7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG4udWstYnJlYWtwb2ludC1zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjc2OHB4XCI7IH1cblxuLnVrLWJyZWFrcG9pbnQtbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCIxMDI0cHhcIjsgfVxuXG4udWstYnJlYWtwb2ludC1sOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjEyMDBweFwiOyB9XG5cbi51ay1icmVha3BvaW50LXhsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjE2MDBweFwiOyB9XG5cbjpyb290IHtcbiAgLS11ay1icmVha3BvaW50LXM6IDc2OHB4O1xuICAtLXVrLWJyZWFrcG9pbnQtbTogMTAyNHB4O1xuICAtLXVrLWJyZWFrcG9pbnQtbDogMTIwMHB4O1xuICAtLXVrLWJyZWFrcG9pbnQteGw6IDE2MDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1tdXRlZCB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYS51ay1saW5rLXRleHQsXG4udWstbGluay10ZXh0IGEge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLXRleHQge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmEudWstbGluay1oZWFkaW5nLFxuLnVrLWxpbmstaGVhZGluZyBhIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1oZWFkaW5nIHtcbiAgY29sb3I6ICMxZTg3ZjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saW5rLXRvZ2dsZSB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51ay1saW5rLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctc21hbGwge1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4udWstaGVhZGluZy1tZWRpdW0ge1xuICBmb250LXNpemU6IDIuODg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMy40cmVtO1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi51ay1oZWFkaW5nLXhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogVGFibGV0IExhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDMuMjVyZW07IH1cbiAgLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTsgfVxuICAudWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA0cmVtOyB9XG4gIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiA2cmVtOyB9XG4gIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogOHJlbTsgfSB9XG5cbi8qIExhcHRvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1oZWFkaW5nLW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiA0cmVtOyB9XG4gIC51ay1oZWFkaW5nLWxhcmdlIHtcbiAgICBmb250LXNpemU6IDZyZW07IH1cbiAgLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICBmb250LXNpemU6IDhyZW07IH1cbiAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAxMXJlbTsgfSB9XG5cbi8qIFByaW1hcnlcbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy1tZWRpdW1gIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbi8qIEhlcm9cbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy14bGFyZ2VgIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDVweCArIDAuMWVtKTtcbiAgYm9yZGVyLWJvdHRvbTogY2FsYygwLjJweCArIDAuMDVlbSkgc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctYnVsbGV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGMoLTAuMSAqIDFlbSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgaGVpZ2h0OiBjYWxjKDRweCArIDAuN2VtKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDVweCArIDAuMmVtKTtcbiAgYm9yZGVyLWxlZnQ6IGNhbGMoNXB4ICsgMC4xZW0pIHNvbGlkICNlNWU1ZTU7IH1cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG4udWstaGVhZGluZy1saW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAoY2FsYygwLjJweCArIDAuMDVlbSkgLyAyKSk7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDIwMDBweDtcbiAgLyogMyAqL1xuICBib3JkZXItYm90dG9tOiBjYWxjKDAuMnB4ICsgMC4wNWVtKSBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNXB4ICsgMC4zZW0pOyB9XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNXB4ICsgMC4zZW0pOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAvKiAxICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGl2aWRlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzZTVlNWU1JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gKDUwcHggLyAyKSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gIHJpZ2h0OiBjYWxjKDUwJSArICg1MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTsgfVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gIGxlZnQ6IGNhbGMoNTAlICsgKDUwcHggLyAyKSk7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBGaXggaGVpZ2h0IGJlY2F1c2Ugb2YgYGlubGluZS1ibG9ja2BcbiAqIDIuIFVzaW5nIDo6YWZ0ZXIgYW5kIGlubGluZS1ibG9jayB0byBtYWtlIGB0ZXh0LWFsaWduYCB3b3JrXG4gKi9cbi8qIDEgKi9cbi51ay1kaXZpZGVyLXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyogMiAqL1xuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyogVmVydGljYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpdmlkZXItdmVydGljYWwge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWxpc3QgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG4udWstbGlzdCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gKiA+IHVsIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiBNYXJrZXIgbW9kaWZpZXJzXG4gKiBNb3ZpbmcgYDo6bWFya2VyYCBpbnNpZGUgYDo6YmVmb3JlYCB0byBzdHlsZSBpdCBkaWZmZXJlbnRseVxuICogVG8gc3R5bGUgdGhlIGA6Om1hcmtlcmAgaXMgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdC1kaXNjID4gKixcbi51ay1saXN0LWNpcmNsZSA+ICosXG4udWstbGlzdC1zcXVhcmUgPiAqLFxuLnVrLWxpc3QtZGVjaW1hbCA+ICosXG4udWstbGlzdC1oeXBoZW4gPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi8qXG4gKiBUeXBlIG1vZGlmaWVyc1xuICovXG4udWstbGlzdC1kZWNpbWFsIHtcbiAgY291bnRlci1yZXNldDogZGVjaW1hbDsgfVxuXG4udWstbGlzdC1kZWNpbWFsID4gKiB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBkZWNpbWFsOyB9XG5cbltjbGFzcyo9J3VrLWxpc3QnXSA+IDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS41ZW07XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udWstbGlzdC1kaXNjID4gOjpiZWZvcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxuLnVrLWxpc3QtY2lyY2xlID4gOjpiZWZvcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgfVxuXG4udWstbGlzdC1zcXVhcmUgPiA6OmJlZm9yZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyB9XG5cbi51ay1saXN0LWRlY2ltYWwgPiA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoZGVjaW1hbCwgZGVjaW1hbCkgXCLigIouwqBcIjsgfVxuXG4udWstbGlzdC1oeXBoZW4gPiA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICfigJNcXDAwQTBcXDAwQTAnOyB9XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuLnVrLWxpc3QtbXV0ZWQgPiA6OmJlZm9yZSB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLWxpc3QtZW1waGFzaXMgPiA6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IH1cblxuLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHtcbiAgY29sb3I6ICMxZTg3ZjAgIWltcG9ydGFudDsgfVxuXG4udWstbGlzdC1zZWNvbmRhcnkgPiA6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cblxuLyogSW1hZ2UgYnVsbGV0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saXN0LWJ1bGxldCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstbGlzdC1zdHJpcGVkID4gKiB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDsgfVxuICAudWstbGlzdC1zdHJpcGVkID4gKjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3QtbGFyZ2UgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+ICogPiB1bCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1jb2xsYXBzZSA+ICogPiB1bCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuXG4udWstbGlzdC1jb2xsYXBzZS51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERlc2NyaXB0aW9uIGxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRlcm1cbiAqL1xuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGluZVxuICovXG4udWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFN0eWxlXG4gKi9cbi51ay10YWJsZSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICovXG4udWstdGFibGUgdGgge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgdGQge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogRm9vdGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0Zm9vdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZkOyB9XG5cbi8qIEFjdGl2ZSBzdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZDsgfVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gIHBhZGRpbmc6IDEwcHggMTJweDsgfVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICBwYWRkaW5nOiAyMnB4IDEycHg7IH1cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKiBDZWxsIHNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLXNocmluayB7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnVrLXRhYmxlLWV4cGFuZCB7XG4gIG1pbi13aWR0aDogMTUwcHg7IH1cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuLnVrLXRhYmxlLWxpbmsge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHggMTJweDsgfVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgcGFkZGluZzogMTBweCAxMnB4OyB9XG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0Ym9keSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6Zmlyc3QtY2hpbGQpID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmxhc3QtY2hpbGQpID4gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50OyB9XG4gIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnVrLXRhYmxlIHRib2R5IHRyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG4udWstaWNvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA1ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA2ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA3LiAqL1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogOCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDkgKi9cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAvKiAxMCAqL1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cbi51ay1pY29uID4gKiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuLnVrLWljb24taW1hZ2Uge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMaW5rXG4gKi9cbi51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzU5NTk1OTsgfVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWljb24tYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZWRlO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG4udWstcmFuZ2Uge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMiAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAvKiA2ICovXG4gIHBhZGRpbmc6IDA7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtN3B4O1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjYmNiOyB9XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjYmNiOyB9XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NiY2I7IH1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTYWZhcmkgZG9lc24ndCBoYXZlIGEgZm9jdXMgc3RhdGUuIFVzaW5nIGFjdGl2ZSBpbnN0ZWFkLlxuICovXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2QyZDJkMjsgfVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2QyZDJkMjsgfVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBib3JkZXItcmFkaXVzOiA1MDBweDsgfVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0OyB9XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG4udWstaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG4udWstdGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbi51ay1maWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuLnVrLWlucHV0LFxuLnVrLXRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwIG5vbmU7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjsgfVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7IH1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXItY29sb3I6ICMxZTg3ZjA7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1OyB9XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLWZvcm0tc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstZm9ybS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiA1M3B4OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEVycm9yXG4gKi9cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZjA1MDZlO1xuICBib3JkZXItY29sb3I6ICNmMDUwNmU7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzMyZDI5NjtcbiAgYm9yZGVyLWNvbG9yOiAjMzJkMjk2OyB9XG5cbi8qXG4gKiBCbGFua1xuICovXG4udWstZm9ybS1ibGFuayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkOyB9XG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNTBweDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNzVweDsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7XG4gIHdpZHRoOiAxMzBweDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqIDQuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7XG4gIGNvbG9yOiAjNDQ0OyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuXG4vKiBEYXRhbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cbi51ay1pbnB1dFtsaXN0XSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG5cbi51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG5cbi8qIDEgKi9cbi51ay1pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiAzICovXG4gIG1hcmdpbi10b3A6IC00cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDYgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2JjYjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyOyB9XG5cbi51ay1yYWRpbyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwOyB9XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZTZlY2Q7IH1cblxuLypcbiAqIEljb25zXG4gKi9cbi51ay1yYWRpbzpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi51ay1jaGVja2JveDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1OyB9XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWxlZ2VuZCB7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogNCAqL1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG4udWstZm9ybS1jdXN0b20ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbGVmdDogMDtcbiAgLyogMyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDQgKi9cbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIC8qIDUgKi9cbiAgZm9udC1zaXplOiA1MDBweDtcbiAgLyogNiAqL1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mb3JtLWxhYmVsIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdGFja2VkXG4gKi9cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMjE1cHg7IH1cbiAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9IH1cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1mb3JtLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDQwcHg7XG4gIC8qIDMgKi9cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiA0ICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSB+IC51ay1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstZm9ybS1pY29uLWZsaXAge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDQuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA1LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGZvciBgaW5wdXQgdHlwZT1cInN1Ym1pdFwiYGluIGlPUy5cbiAqIDcuIFN0eWxlXG4gKiA4LiBgbGluZS1oZWlnaHRgIGlzIHVzZWQgdG8gY3JlYXRlIGEgaGVpZ2h0IGJlY2F1c2UgaXQgYWxzbyBjZW50ZXJzIHRoZSB0ZXh0IHZlcnRpY2FsbHkgZm9yIGBhYCBlbGVtZW50cy5cbiAqICAgIEJldHRlciB3b3VsZCBiZSB0byB1c2UgaGVpZ2h0IGFuZCBmbGV4Ym94IHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGJ1dCBmbGV4Ym94IGRvZXNuJ3Qgd29yayBpbiBGaXJlZm94IG9uIGBidXR0b25gIGVsZW1lbnRzLlxuICogOS4gQWxpZ24gdGV4dCBpZiBidXR0b24gaGFzIGEgd2lkdGhcbiAqIDEwLiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstYnV0dG9uIHtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA1ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA2ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogOCAqL1xuICBsaW5lLWhlaWdodDogMzhweDtcbiAgLyogOSAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIDEwICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjsgfVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgLyogOSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXItY29sb3I6ICNiMmIyYjI7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci1jb2xvcjogIzk5OTg5ODsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmN2FlNTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU2ZWNkO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwODA4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTViO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMyMTQ3O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTk7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBsaW5lLWhlaWdodDogNTNweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1idXR0b24tdGV4dCB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogMiAqL1xuICBjb2xvcjogIzMzMztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjMzMzOyB9XG4gIC51ay1idXR0b24tdGV4dDpob3Zlcjo6YmVmb3JlLFxuICAudWstYnV0dG9uLXRleHQ6Zm9jdXM6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5OyB9XG4gIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjZjAxZDRmOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMGY2ZWNkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1idXR0b24tZ3JvdXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvKiAyICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEdyb3VwXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIENvbGxhcHNlIGJvcmRlclxuICAgICAqL1xuLnVrLWJ1dHRvbi1ncm91cCA+IC51ay1idXR0b246bnRoLWNoaWxkKG4rMiksXG4udWstYnV0dG9uLWdyb3VwID4gZGl2Om50aC1jaGlsZChuKzIpIC51ay1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4vKlxuICAgICAqIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIHN1cGVyaW1wb3NlIHRoZSBzdWNjZXNzb3IgZWxlbWVudHMgYm9yZGVyXG4gICAgICogS25vd24gaXNzdWU6IElmIHlvdSB1c2UgYW4gYGFgIGVsZW1lbnQgYXMgYnV0dG9uIGFuZCBhbiBpY29uIGluc2lkZSxcbiAgICAgKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gICAgICogV29ya2Fyb3VuZDogSnVzdCB1c2UgYSBgYnV0dG9uYCBvciBgaW5wdXRgIGVsZW1lbnQgYXMgYnV0dG9uXG4gICAgICovXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246aG92ZXIsXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246Zm9jdXMsXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMy4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiA0LiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA1LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDYuIFN0eWxlXG4gKi9cbi51ay1wcm9ncmVzcyB7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAzICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgLyogNCAqL1xuICBib3JkZXI6IDA7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgLyogNiAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFByb2dyZXNzIGNvbnRhaW5lclxuICogMi4gUmVtb3ZlIHByb2dyZXNzIGJhciBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBGaXJlZm94XG4gKi9cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOyB9XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwOyB9XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCBgMTAwdmhgIGFuZCBoZWlnaHQgaW4gZ2VuZXJhbFxuICovXG4udWstc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstc2VjdGlvbi14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH0gfVxuXG4vKlxuICogWExhcmdlXG4gKi9cbi51ay1zZWN0aW9uLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7IH0gfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLypcbiAqIE11dGVkXG4gKi9cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzFlODdmMDsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLyogT3ZlcmxhcCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cbi51ay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29udGFpbmVyLXhzbWFsbCB7XG4gIG1heC13aWR0aDogNzUwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi51ay1jb250YWluZXIteGxhcmdlIHtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG4udWstY29udGFpbmVyLWV4cGFuZC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgKyAoNzUwcHggLyAyKSAtIDMwcHgpOyB9XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgKyAoOTAwcHggLyAyKSAtIDMwcHgpOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDEyMDBweCAvIDIpIC0gNDBweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDc1MHB4IC8gMikgLSA0MHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDkwMHB4IC8gMikgLSA0MHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE0MDBweCAvIDIpIC0gNDBweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteGxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE2MDBweCAvIDIpIC0gNDBweCk7IH0gfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTsgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10aWxlIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLXRpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstdGlsZS14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay10aWxlLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstdGlsZS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH0gfVxuXG4vKlxuICogWExhcmdlXG4gKi9cbi51ay10aWxlLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7IH0gfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLXRpbGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLypcbiAqIE11dGVkXG4gKi9cbi51ay10aWxlLW11dGVkIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzFlODdmMDsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ib2R5IHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAzMHB4IDMwcHg7IH1cblxuLnVrLWNhcmQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDQwcHggNDBweDsgfVxuICAudWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfVxuICAudWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNhcmQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIHotaW5kZXg6IDE7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuLnVrLWNhcmQtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1jYXJkLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxM3B4IDIwcHg7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMTNweCAyMHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNhcmQtbGFyZ2UudWstY2FyZC1ib2R5LFxuICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiA3MHB4IDcwcHg7IH1cbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAzNXB4IDcwcHg7IH1cbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAzNXB4IDcwcHg7IH0gfVxuXG4vKlxuICAgICAqIERlZmF1bHRcbiAgICAgKi9cbi51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7IH1cblxuLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xNXB4OyB9XG5cbi51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4udWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTI1cHg7IH1cbiAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7IH0gfVxuXG4vKlxuICAgICAqIFNtYWxsXG4gICAgICovXG4udWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDsgfVxuXG4udWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4udWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4udWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gIHBhZGRpbmctbGVmdDogMzVweDsgfVxuXG4vKlxuICAgICAqIExhcmdlXG4gICAgICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQge1xuICAgIG1hcmdpbjogMDsgfVxuICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1jbG9zZSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstY2xvc2U6aG92ZXIsXG4udWstY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNwaW5uZXIgPiAqIHtcbiAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAxLjRzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH0gfVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICBzdHJva2UtZGFzaGFycmF5OiA4OHB4O1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBzdHJva2Utd2lkdGg6IDE7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDsgfVxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDg4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLXRvdG9wIHtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogIzk5OTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdG90b3A6aG92ZXIsXG4udWstdG90b3A6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLW1hcmtlciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1tYXJrZXI6aG92ZXIsXG4udWstbWFya2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMTVweCAyOXB4IDE1cHggMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1hbGVydCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXIgKyBGb2N1c1xuICovXG4udWstYWxlcnQtY2xvc2U6aG92ZXIsXG4udWstYWxlcnQtY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNkOGVhZmM7XG4gIGNvbG9yOiAjMWU4N2YwOyB9XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2VkZmJmNjtcbiAgY29sb3I6ICMzMmQyOTY7IH1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmVmNWVlO1xuICBjb2xvcjogI2ZhYTA1YTsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmNGY2O1xuICBjb2xvcjogI2YwNTA2ZTsgfVxuXG4vKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cbi51ay1hbGVydCBoMSxcbi51ay1hbGVydCBoMixcbi51ay1hbGVydCBoMyxcbi51ay1hbGVydCBoNCxcbi51ay1hbGVydCBoNSxcbi51ay1hbGVydCBoNiB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4udWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZTVlNWU1OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gQ2VudGVyIGNoaWxkIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstYmFkZ2Uge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovXG4gIGJhY2tncm91bmQ6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiAyICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYFxuICovXG4udWstYmFkZ2U6aG92ZXIsXG4udWstYmFkZ2U6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZDogIzFlODdmMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJkMjk2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstbGFiZWwtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWEwNWE7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVybGF5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzQsIDM0LCAwLjgpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hcnRpY2xlIHtcbiAgZGlzcGxheTogZmxvdy1yb290OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi4yMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLWFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hcnRpY2xlLW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTsgfVxuICAudWstYXJ0aWNsZS1tZXRhIGEge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC51ay1hcnRpY2xlLW1ldGEgYTpob3ZlciB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LWJvZHkge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtdGl0bGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgbWFyZ2luOiA3MHB4IDAgMCAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9IH1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG4udWstc2VhcmNoIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogNCAqL1xuICBtYXJnaW46IDA7IH1cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogNSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNiAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDcgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogOCAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogOSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuLnVrLXNlYXJjaC1pY29uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gYWJvdmUgaW5wdXRcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAzLiBTdHlsZVxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLWRlZmF1bHQge1xuICB3aWR0aDogMTgwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogSWNvblxuICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDQwcHg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1uYXZiYXIge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4vKlxuICogSWNvblxuICovXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogNDBweDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLWxhcmdlIHtcbiAgd2lkdGg6IDUwMHB4OyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDgwcHg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLXRvZ2dsZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWNjb3JkaW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24ge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMzMzO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMS40ZW07XG4gICAgaGVpZ2h0OiAxLjRlbTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4udWstYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuLnVrLWRyb3Age1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDIwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWRyb3Bkb3duIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyMDtcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDI1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3Bkb3duLnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGRvd24tbmF2IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcGRvd24tdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wZG93bi1ib3R0b20nXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICAvKiAzICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAzMnB4IDMycHg7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1tb2RhbC51ay1vcGVuIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuLnVrLW1vZGFsLXBhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbC1kaWFsb2cge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDYwMHB4O1xuICAvKiAzICovXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMC4wMXB4KSAhaW1wb3J0YW50O1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIDUgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvbnRhaW5lciBzaXplXG4gKiBUYWtlIHRoZSBzYW1lIHNpemUgYXMgdGhlIENvbnRhaW5lciBjb21wb25lbnRcbiAqL1xuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHtcbiAgd2lkdGg6IDEyMDBweDsgfVxuXG4vKlxuICogRnVsbCBzaXplXG4gKiAxLiBSZW1vdmUgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBmcm9tIG1vZGFsXG4gKiAyLiBSZXNldCBhbGwgZGVmYXVsdCBkZWNsYXJhdGlvbnMgZnJvbSBtb2RhbCBkaWFsb2dcbiAqL1xuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtYm9keSB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMTZweCAxNnB4OyB9XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMTA7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLypcbiAqIE91dHNpZGVcbiAqIDEuIFByZXZlbnQgc2Nyb2xsYmFyIG9uIHNtYWxsIGRldmljZXNcbiAqL1xuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICB0b3A6IDA7XG4gIC8qIDEgKi9cbiAgcmlnaHQ6IC01cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC8qIDEgKi9cbiAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTsgfSB9XG5cbi8qXG4gKiBGdWxsXG4gKi9cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVzaG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG4udWstc2xpZGVzaG93IHtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gYW5kIHN0YWNraW5nIGNvbnRleHRcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqIDQuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgLyogNSAqL1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi8qIDYgKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpub3QoLnVrLWFjdGl2ZSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXIge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cbi51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogV2lkZW4gY29udGFpbmVyIHRvIHByZXZlbnQgYm94LXNoYWRvd3MgZnJvbSBjbGlwcGluZywgYGxhcmdlLWJveC1zaGFkb3dgXG4gKi9cbi51ay1zbGlkZXItY29udGFpbmVyLW9mZnNldCB7XG4gIG1hcmdpbjogLTExcHggLTI1cHggLTM5cHggLTI1cHg7XG4gIHBhZGRpbmc6IDExcHggMjVweCAzOXB4IDI1cHg7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgLyogMSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi51ay1zbGlkZXItaXRlbXMudWstZ3JpZCB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICogNC4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4vKiA0ICovXG4udWstc2xpZGVyLWl0ZW1zID4gOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgei1pbmRleDogOTgwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE9mZi1jYW52YXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKi9cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMjcwcHg7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI3MHB4O1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogLTM1MHB4O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHg7IH0gfVxuXG4vKiBGbGlwIG1vZGlmaWVyICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTI3MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIHJpZ2h0OiAtMzUwcHg7IH0gfVxuXG4vKlxuICogT3BlblxuICovXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgbGVmdDogMDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0OyB9XG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDsgfVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgcG9zaXRpb25cbiAqL1xuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDsgfVxuXG4udWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gIC8qIDQgKi9cbiAgbGVmdDogMDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAvKiA0ICovXG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICB3aWR0aDogMjcwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHdpZHRoOiAzNTBweDsgfSB9XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb2ZmY2FudmFzLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAvKiAxICovXG4gIHdpZHRoOiAxMDB2dztcbiAgLyogMiAqL1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLypcbiAqIDEuIE1hc2sgdGhlIHdob2xlIHBhZ2VcbiAqIDIuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gIC8qIDEgKi9cbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLyogMiAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBQcmV2ZW50IHNjcm9sbGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogMS4gUHJvdmlkZSBhIGZpeGVkIHdpZHRoIGFuZCBwcmV2ZW50IHNocmlua2luZ1xuICovXG4udWstb2ZmY2FudmFzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7XG4gIGxlZnQ6IDI3MHB4OyB9XG5cbi51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7XG4gIGxlZnQ6IC0yNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHtcbiAgICBsZWZ0OiAzNTBweDsgfVxuICAudWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24ge1xuICAgIGxlZnQ6IC0zNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG4udWstc3dpdGNoZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGVhZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAvKiAyICovXG4gIHdpZHRoOiAwO1xuICAvKiAzICovXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgLyogNCAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiBIaWRlIGlmIG1lZGlhIGRvZXMgbm90IG1hdGNoXG4gKi9cbi51ay1sZWFkZXItZmlsbC51ay1sZWFkZXItaGlkZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTXG4gKi9cbi51ay1sZWFkZXItZmlsbC1jb250ZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIi5cIjsgfVxuXG46cm9vdCB7XG4gIC0tdWstbGVhZGVyLWZpbGwtY29udGVudDogLjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEwNDA7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM1MHB4OyB9XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDsgfVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTc1cHg7IH1cblxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwcHg7IH1cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWstbm90aWZpY2F0aW9uIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMTVweDsgfVxuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2U6aG92ZXIgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMWU4N2YwOyB9XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICMzMmQyOTY7IH1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogI2ZhYTA1YTsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICBjb2xvcjogI2YwNTA2ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG9vbHRpcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gUmVtb3ZlIHRvb2x0aXAgZnJvbSBkb2N1bWVudCBmbG93IHRvIGtlZXAgdGhlIFVJa2l0IGNvbnRhaW5lciBmcm9tIGNoYW5naW5nIGl0cyBzaXplIHdoZW4gaW5qZWN0ZWQgaW50byB0aGUgZG9jdW1lbnQgaW5pdGlhbGx5XG4gKiA0LiBEaW1lbnNpb25zXG4gKiA1LiBTdHlsZVxuICovXG4udWstdG9vbHRpcCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMzA7XG4gIC8qIDMgKi9cbiAgdG9wOiAwO1xuICAvKiA0ICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi8qIFNob3cgKi9cbi51ay10b29sdGlwLnVrLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7IH1cblxuW2NsYXNzKj0ndWstdG9vbHRpcC1ib3R0b20nXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuW2NsYXNzKj0ndWstdG9vbHRpcC1sZWZ0J10ge1xuICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cblxuW2NsYXNzKj0ndWstdG9vbHRpcC1yaWdodCddIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwNTAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLWVtcHR5IHtcbiAgbWluLWhlaWdodDogNTBweDsgfVxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTWFrZSBudW1iZXJzIGFsbCBvZiB0aGUgc2FtZSBzaXplIHRvIHByZXZlbnQganVtcGluZy4gTXVzdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIGZvbnQuXG4gKiAyLiBTdHlsZVxuICovXG4udWstY291bnRkb3duLW51bWJlciB7XG4gIC8qIDEgKi9cbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgLyogMiAqL1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA0cmVtOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDZyZW07IH0gfVxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuLnVrLWdyaWQgPiAqIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWdyaWQgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDsgfVxuXG4udWstZ3JpZCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH1cbiAgLnVrLWdyaWQgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQgKyAudWstZ3JpZCxcbiAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICogKyAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4vKlxuICogU21hbGxcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1jb2x1bW4tc21hbGwge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cblxuLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0ge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LW1lZGl1bSxcbi51ay1ncmlkLW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9XG5cbi51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQtbGFyZ2UsXG4gIC51ay1ncmlkLWNvbHVtbi1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDsgfVxuICAudWstZ3JpZC1sYXJnZSA+ICosXG4gIC51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbiAgLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbGFyZ2UsXG4gIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAudWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE1MHB4OyB9IH1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnVrLWdyaWQtY29sbGFwc2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWdyaWQtZGl2aWRlciA+ICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogRGVmYXVsdFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogNjBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogSG9yaXpvbnRhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlciA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBsZWZ0OiA0MHB4OyB9XG4gIC8qIFZlcnRpY2FsICovXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAtNDBweDtcbiAgICBsZWZ0OiA4MHB4OyB9IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAxNXB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTE1cHg7XG4gIGxlZnQ6IDMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0xNXB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMzBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBsZWZ0OiA2MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IC04MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogNDBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC00MHB4O1xuICBsZWZ0OiA4MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtNDBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGxlZnQ6IDgwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgbGVmdDogMTUwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMzAwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAtMTUwcHg7XG4gICAgbGVmdDogMzAwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTE1MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAzMDBweDsgfSB9XG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSksXG4udWstZ3JpZC1pdGVtLW1hdGNoID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgZmxleDogYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldFxuICogMS4gUHJlcGFyZSBsaXN0c1xuICogMi4gUHJlcGFyZSBsaW5rc1xuICogMy4gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuLyogMSAqL1xuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIDMgKi9cbi51ay1uYXYgbGkgPiBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogSXRlbXNcbiAqIE11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGxpc3RzKVxuICovXG4udWstbmF2ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogNXB4IDA7IH1cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG51bC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDE1cHg7IH1cblxuLypcbiAqIExldmVsIDMgYW5kIGRlZXBlclxuICovXG4udWstbmF2LXN1YiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1zdWIgYSB7XG4gIHBhZGRpbmc6IDJweCAwOyB9XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGZsb2F0OiByaWdodDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNjY2JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtaGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIFByaW1hcnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG4udWstbmF2YmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKlxuICogSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjZW50ZXJlZCBuYXZiYXIgd2l0aCBzdWIgZ3JvdXBzIChsZWZ0L3JpZ2h0KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqIDMuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogNC4gQWxpZ24gc3ViIGdyb3VwcyBmb3IgY2VudGVyZWQgbmF2YmFyXG4gKi9cbi51ay1uYXZiYXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAzICovXG4gIHotaW5kZXg6IDk5MDsgfVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICBsZWZ0OiAxMDAlOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10ge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cbi51ay1uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbi51ay1uYXZiYXItaXRlbSxcbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIC8qIDMgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLyogNCAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIE5hdiBpdGVtc1xuICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsgfVxuXG4vKlxuICogSG92ZXJcbiAqIEFwcGx5IGhvdmVyIHN0eWxlIGFsc28gdG8gZm9jdXMgc3RhdGUgYW5kIGlmIGRyb3Bkb3duIGlzIG9wZW5lZFxuICovXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWl0ZW0ge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci10b2dnbGUge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuLyogSG92ZXIgKyBGb2N1cyAqL1xuLyogU3VidGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3Bkb3duYFxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDIwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyMDBweDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHtcbiAgbWFyZ2luLXRvcDogLTE1cHg7IH1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLypcbiAqIEdyaWRcbiAqIEFkb3B0cyBgdWstZ3JpZGBcbiAqL1xuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtNTBweDsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG5cbi8qIEd1dHRlciBWZXJ0aWNhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4vKiBTdGFjayAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjayAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKlxuICogV2lkdGggbW9kaWZpZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHtcbiAgd2lkdGg6IDYwMHB4OyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykge1xuICB3aWR0aDogODAwcHg7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiAxMDAwcHg7IH1cblxuLypcbiAqIERyb3BiYXIgbW9kaWZpZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIEhlYWRlclxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk4MDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG5cbi51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuXG4vKlxuICAgICAqIEdyaWQgRGl2aWRlclxuICAgICAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAyNXB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTI1cHg7XG4gIGxlZnQ6IDUwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cbi51ay1zdWJuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXN1Ym5hdiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogRGl2aWRlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU2V0IGd1dHRlciBcbiAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC00MXB4OyB9XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbmQgZGl2aWRlciB2ZXJ0aWNhbGx5XG4gKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiAxLiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4vKiAxICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2U1ZTVlNTsgfVxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuLnVrLWJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBEb2Vzbid0IGdlbmVyYXRlIGFueSBib3ggYW5kIHJlcGxhY2VkIGJ5IGNoaWxkIGJveGVzXG4gKi9cbi51ay1icmVhZGNydW1iID4gKiB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4udWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIERpc2FibGVkICovXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiBzcGFuLFxuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IGE6bm90KFtocmVmXSkge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqIDEuIFJlbW92ZSBzcGFjZSBiZXR3ZWVuIGlubGluZSBibG9jayBlbGVtZW50cy5cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCIvXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICBtYXJnaW46IDAgMjBweCAwIGNhbGMoMjBweCAtIDRweCk7XG4gIC8qIDIgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZ2luYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICM5OTk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG4udWstdGFiIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudWstdGFiOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstdGFiID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLXRhYiA+ICogPiBhIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10YWIgPiAqID4gYTpob3Zlcixcbi51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwOyB9XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCb3R0b21cbiAqL1xuLnVrLXRhYi1ib3R0b206OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAxICovXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi51ay10YWItcmlnaHQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4udWstdGFiIC51ay1kcm9wZG93biB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4udWstc2xpZGVuYXYge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC41KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2xpZGVuYXY6aG92ZXIsXG4udWstc2xpZGVuYXY6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjkpO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjUpOyB9XG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZpb3VzXG4gKi9cbi8qXG4gKiBOZXh0XG4gKi9cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4OyB9XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRG90bmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cbi51ay1kb3RuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWxlZnQ6IC0xMnB4OyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG4udWstZG90bmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zXG4gKiAxLiBIaWRlIHRleHQgaWYgcHJlc2VudFxuICovXG4udWstZG90bmF2ID4gKiA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZjM2IzZDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4OyB9IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogT25DbGljayAqL1xuLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gIC8qIDEgKi9cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTEycHg7IH1cblxuLyogMiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMnB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaHVtYm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG4udWstdGh1bWJuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIDEuIEd1dHRlclxuICovXG4udWstdGh1bWJuYXYgPiAqIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnVrLXRodW1ibmF2ID4gKiA+ICo6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuLnVrLXRodW1ibmF2ID4gKiA+IDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcjo6YWZ0ZXIsXG4gIC51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXM6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIE1vZGlmaWVyOiAndWstdGh1bWJuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuXG4vKiAyICovXG4udWstdGh1bWJuYXYtdmVydGljYWwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG4udWstaWNvbm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogMyAqL1xuICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1pY29ubmF2ID4gKiA+IGEge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4udWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4vKiAyICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuLnVrLWxpZ2h0Ym94IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIC8qIDYgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIC8qIDcgKi9cbiAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOyB9XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbGlnaHRib3gtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqIDYuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDMgKi9cbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgLyogNCAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWF4LWhlaWdodDogMTAwdmg7IH1cblxuLyogNiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgPiAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyLFxuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LWNhcHRpb246ZW1wdHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA4MCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi8qIEFuaW1hdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZhZGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi8qXG4gKiBTY2FsZVxuICovXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7IH1cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xuICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTVzOyB9XG5cbi8qXG4gKiBTaGFrZVxuICovXG4udWstYW5pbWF0aW9uLXNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cbi8qXG4gKiBTVkcgU3Ryb2tlXG4gKiBUaGUgYC0tdWstYW5pbWF0aW9uLXN0cm9rZWAgY3VzdG9tIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBsb25nZXN0IHBhdGggbGVuZ3RoLlxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cbiAqIEFsbCBzdHJva2VzIGFyZSBhbmltYXRlZCBieSB0aGUgc2FtZSBwYWNlIGFuZCBkb2Vzbid0IGVuZCBzaW11bHRhbmVvdXNseS5cbiAqIFRvIGVuZCBzaW11bHRhbmVvdXNseSwgYHBhdGhMZW5ndGg9XCIxXCJgIGNvdWxkIGJlIHVzZWQsIGJ1dCBpdCdzIG5vdCB3b3JraW5nIGluIFNhZmFyaSB5ZXQuXG4gKi9cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXN0cm9rZTtcbiAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IH1cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzOyB9XG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqL1xuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZhZGVcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH0gfVxuXG4vKlxuICogU2hha2VcbiAqL1xuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfSB9XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpOyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1jaGlsZC13aWR0aCddID4gKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTQgPiAqIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICoge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICoge1xuICB3aWR0aDogYXV0bzsgfVxuXG4vKlxuICogMS4gUmVzZXQgdGhlIGBtaW4td2lkdGhgLCB3aGljaCBpcyBzZXQgdG8gYXV0byBieSBkZWZhdWx0LCBiZWNhdXNlXG4gKiAgICBmbGV4IGl0ZW1zIHdvbid0IHNocmluayBiZWxvdyB0aGVpciBtaW5pbXVtIGludHJpbnNpYyBjb250ZW50IHNpemUuXG4gKiAgICBVc2luZyBgMXB4YCBpbnN0ZWFkIG9mIGAwYCwgc28gaXRlbXMgc3RpbGwgd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmUsXG4gKiAgICBpZiB0aGV5IGhhdmUgemVybyB3aWR0aCBhbmQgcGFkZGluZyBhbmQgdGhlIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZS5cbiAqL1xuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICBmbGV4OiAxO1xuICAvKiAxICovXG4gIG1pbi13aWR0aDogMXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICoge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDsgfSB9XG5cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIge1xuICB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG5cbi51ay13aWR0aC0yLTMge1xuICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnVrLXdpZHRoLTMtNCB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4udWstd2lkdGgtMi01IHtcbiAgd2lkdGg6IDQwJTsgfVxuXG4udWstd2lkdGgtMy01IHtcbiAgd2lkdGg6IDYwJTsgfVxuXG4udWstd2lkdGgtNC01IHtcbiAgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuXG4udWstd2lkdGgtNS02IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cblxuLyogUGl4ZWwgKi9cbi51ay13aWR0aC1zbWFsbCB7XG4gIHdpZHRoOiAxNTBweDsgfVxuXG4udWstd2lkdGgtbWVkaXVtIHtcbiAgd2lkdGg6IDMwMHB4OyB9XG5cbi51ay13aWR0aC1sYXJnZSB7XG4gIHdpZHRoOiA0NTBweDsgfVxuXG4udWstd2lkdGgteGxhcmdlIHtcbiAgd2lkdGg6IDYwMHB4OyB9XG5cbi51ay13aWR0aC0yeGxhcmdlIHtcbiAgd2lkdGg6IDc1MHB4OyB9XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAxcHg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBzIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBzIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEBzIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAcyB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAcyB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAcyB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAcyB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBzIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHMge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQHMge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgtMnhsYXJnZVxcQHMge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAcyB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQG0ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQG0ge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBtIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEBtIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEBtIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEBtIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQG0ge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbSB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC0yeGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAbCB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQGwge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQGwge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQGwge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBsIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEB4bCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEB4bCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEB4bCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAeGwge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEB4bCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAeGwge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQHhsIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEB4bCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHhsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgtMnhsYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHhsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4cyA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4cyA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhzID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAeHMgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4cyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeHMgPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAeHMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAeHMge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEB4cyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQHhzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAeHMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQHhzIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAeHMge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQHhzIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEB4cyB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAeHMge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEB4cyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQHhzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAeHMge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAeHMge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICoge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQHMge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQHMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQHMge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBzIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEBzIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEBzIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEBzIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHMge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAcyB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQHMge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC0yeGxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBzIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQG0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAbSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAbSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQG0ge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQG0ge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQG0ge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQG0ge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBtIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBtIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBtIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQG0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEBsIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAbCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAbCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAbCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQGwge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgtMnhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHhsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQHhsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQHhsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEB4bCB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQHhsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEB4bCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAeGwge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQHhsIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAeGwge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAeGwge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC0yeGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAeGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWhlaWdodCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cbi51ay1oZWlnaHQtMS0xIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuLnVrLWhlaWdodC12aWV3cG9ydCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cbi51ay1oZWlnaHQtc21hbGwge1xuICBoZWlnaHQ6IDE1MHB4OyB9XG5cbi51ay1oZWlnaHQtbWVkaXVtIHtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuXG4udWstaGVpZ2h0LWxhcmdlIHtcbiAgaGVpZ2h0OiA0NTBweDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7XG4gIG1heC1oZWlnaHQ6IDE1MHB4OyB9XG5cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7XG4gIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG5cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxlYWQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnVrLXRleHQtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOTk5OyB9XG4gIC51ay10ZXh0LW1ldGEgYSB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnVrLXRleHQtbWV0YSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnVrLXRleHQtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiBXZWlnaHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi51ay10ZXh0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnVrLXRleHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnVrLXRleHQtbGlnaHRlciB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG5cbi51ay10ZXh0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtZW1waGFzaXMge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzFlODdmMCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtd2FybmluZyB7XG4gIGNvbG9yOiAjZmFhMDVhICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNmMDUwNmUgIWltcG9ydGFudDsgfVxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAzICovXG4gIGNvbG9yOiAjMWU4N2YwICFpbXBvcnRhbnQ7IH1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9IH1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQG0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQG0ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LWNlbnRlclxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG4udWstdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1iYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzXG4gKi9cbi51ay10ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDA7IH1cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG4udWstdGV4dC1icmVhayB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLyogMiAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuLyogMyAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10ge1xuICBjb2x1bW4tZ2FwOiAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBbY2xhc3MqPSd1ay1jb2x1bW4tJ10ge1xuICAgIGNvbHVtbi1nYXA6IDQwcHg7IH0gfVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10gaW1nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAvKiAxICovXG4gIGNvbHVtbi1nYXA6IDYwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLWdhcDogODBweDsgfSB9XG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29sdW1uLTEtMiB7XG4gIGNvbHVtbi1jb3VudDogMjsgfVxuXG4udWstY29sdW1uLTEtMyB7XG4gIGNvbHVtbi1jb3VudDogMzsgfVxuXG4udWstY29sdW1uLTEtNCB7XG4gIGNvbHVtbi1jb3VudDogNDsgfVxuXG4udWstY29sdW1uLTEtNSB7XG4gIGNvbHVtbi1jb3VudDogNTsgfVxuXG4udWstY29sdW1uLTEtNiB7XG4gIGNvbHVtbi1jb3VudDogNjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAcyB7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAcyB7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAcyB7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAcyB7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAcyB7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAbSB7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAbSB7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAbSB7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAbSB7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAbSB7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAudWstY29sdW1uLTEtNFxcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogNjsgfSB9XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29sdW1uLXNwYW4ge1xuICBjb2x1bW4tc3BhbjogYWxsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cbi51ay1jb3ZlciB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuaWZyYW1lLnVrLWNvdmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi51ay1iYWNrZ3JvdW5kLW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDsgfVxuXG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOyB9XG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtY292ZXIsXG4udWstYmFja2dyb3VuZC1jb250YWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udWstYmFja2dyb3VuZC1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cblxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cblxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIEF0dGFjaG1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpeCBidWcgaW50cm9kdWNlZCBpbiBDaHJvbWUgNjc6IHRoZSBiYWNrZ3JvdW5kIGltYWdlIGlzIG5vdCB2aXNpYmxlIGlmIGFueSBlbGVtZW50IG9uIHRoZSBwYWdlIHVzZXMgYHRyYW5zbGF0ZTNkYFxuICovXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIC8qIDEgKi9cbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9IH1cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2Uge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2Uge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cbi51ay1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cbi51ay1hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWstYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudWstYWxpZ24tbGVmdFxcQG0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudWstYWxpZ24tbGVmdCxcbiAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAudWstYWxpZ24tbGVmdFxcQG0sXG4gIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gIC51ay1hbGlnbi1yaWdodCxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstYWxpZ24tbGVmdFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAyLiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuLyogMSAqL1xuLnVrLXN2Zyxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7IH1cblxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cbi51ay1zdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFuZWwge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogMTcwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHJlc2l6ZTogYm90aDsgfVxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gYHRhYmxlLWNlbGxgIGlzIHVzZWQgd2l0aCBgOjpiZWZvcmVgIGJlY2F1c2UgYHRhYmxlYCBjcmVhdGVzIGEgMXB4IGdhcCB3aGVuIGl0IGJlY29tZXMgYSBmbGV4IGl0ZW0sIG9ubHkgaW4gV2Via2l0XG4gKiAyLiBgdGFibGVgIGlzIHVzZWQgYWdhaW4gd2l0aCBgOjphZnRlcmAgYmVjYXVzZSBgY2xlYXJgIG9ubHkgd29ya3Mgd2l0aCBibG9jayBlbGVtZW50cy5cbiAqIE5vdGU6IGBkaXNwbGF5OiBibG9ja2Agd2l0aCBgb3ZlcmZsb3c6IGhpZGRlbmAgaXMgY3VycmVudGx5IG5vdCB3b3JraW5nIGluIHRoZSBsYXRlc3QgU2FmYXJpXG4gKi9cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuLnVrLWZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWstZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLyogMSAqL1xuW2NsYXNzKj0ndWstZmxvYXQtJ10ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKiBOb3RlOiBGaXJlZm94IGlnbm9yZXMgYHBhZGRpbmctYm90dG9tYCBmb3IgdGhlIHNjcm9sbGFibGUgb3ZlcmZsb3cgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTE4XG4gKi9cbi51ay1vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXJlc2l6ZSB7XG4gIHJlc2l6ZTogYm90aDsgfVxuXG4udWstcmVzaXplLXZlcnRpY2FsIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4vKiBEaXNwbGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4udWstZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4udWstZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiBJbmxpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuW2NsYXNzKj0ndWstaW5saW5lJ10ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDUgKi9cbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgLyogNiAqL1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gIC8qIDEgKi9cbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLyogMiAqL1xuICB3aWR0aDogYXV0bztcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogQm9yZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ib3JkZXItY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi51ay1ib3JkZXItcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4OyB9XG5cbi51ay1ib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJveC1zaGFkb3ctc21hbGwge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1tZWRpdW0ge1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWJveC1zaGFkb3ctbGFyZ2Uge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSB7XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgZmlsdGVyOiBibHVyKDIwcHgpOyB9XG4gIC8qIDMgKi9cbiAgLnVrLWJveC1zaGFkb3ctYm90dG9tID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLyogRHJvcCBjYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpcmVmb3ggZG9lc24ndCBhcHBseSBgOjpmaXJzdC1sZXR0ZXJgIGlmIHRoZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIGNoaWxkIGVsZW1lbnRzXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMDRcbiAqIDIuIEluIEZpcmVmb3gsIGEgZmxvYXRpbmcgYDo6Zmlyc3QtbGV0dGVyYCBkb2Vzbid0IGhhdmUgYSBsaW5lIGJveCBhbmQgdGhlcmUgZm9yIG5vIGBsaW5lLWhlaWdodGBcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxNzkzM1xuICogMy4gQ2F1c2VkIGJ5IDEuOiBFZGdlIGNyZWF0ZXMgdHdvIG5lc3RlZCBgOjpmaXJzdC1sZXR0ZXJgIGNvbnRhaW5lcnMsIG9uZSBmb3IgZWFjaCBzZWxlY3RvclxuICogICAgVGhpcyBkb3VibGVzIHRoZSBgZm9udC1zaXplYCBleHBvbmVudGlhbCB3aGVuIHVzaW5nIHRoZSBgZW1gIHVuaXQuXG4gKi9cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogNC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAtMnB4OyB9XG5cbi8qIDIgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIG1hcmdpbi10b3A6IDEuMSU7IH0gfVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG4vKiBMb2dvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1sb2dvIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGNvbG9yOiAjNjY2O1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51ay1sb2dvLWludmVyc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIERyYWcgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cbi51ay1kcmFnLFxuLnVrLWRyYWcgKiB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG4udWstZHJhZ292ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMyk7IH1cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJsZW5kLW11bHRpcGx5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG5cbi51ay1ibGVuZC1zY3JlZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG5cbi51ay1ibGVuZC1vdmVybGF5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cblxuLnVrLWJsZW5kLWRhcmtlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cblxuLnVrLWJsZW5kLWxpZ2h0ZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuXG4udWstYmxlbmQtY29sb3ItZG9kZ2Uge1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cblxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4ge1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuXG4udWstYmxlbmQtaGFyZC1saWdodCB7XG4gIG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG5cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cblxuLnVrLWJsZW5kLWRpZmZlcmVuY2Uge1xuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuXG4udWstYmxlbmQtZXhjbHVzaW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuXG4udWstYmxlbmQtaHVlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuXG4udWstYmxlbmQtc2F0dXJhdGlvbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG5cbi51ay1ibGVuZC1jb2xvciB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuXG4udWstYmxlbmQtbHVtaW5vc2l0eSB7XG4gIG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2Zvcm0tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4udWstZmxleC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuLnVrLWZsZXgtbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLnVrLWZsZXgtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4udWstZmxleC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cbi51ay1mbGV4LXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4udWstZmxleC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi51ay1mbGV4LWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4udWstZmxleC1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4udWstZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLnVrLWZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4udWstZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG4udWstZmxleC13cmFwLXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG5cbi51ay1mbGV4LXdyYXAtdG9wIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC13cmFwLW1pZGRsZSB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC13cmFwLWJvdHRvbSB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnVrLWZsZXgtd3JhcC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cbi51ay1mbGV4LWZpcnN0IHtcbiAgb3JkZXI6IC0xOyB9XG5cbi51ay1mbGV4LWxhc3Qge1xuICBvcmRlcjogOTk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstZmxleC1maXJzdFxcQHMge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAcyB7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbSB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBtIHtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBsIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQGwge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAeGwge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuLnVrLWZsZXgtbm9uZSB7XG4gIGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG4udWstZmxleC1hdXRvIHtcbiAgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuLnVrLWZsZXgtMSB7XG4gIGZsZXg6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4qICsgLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgfVxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4teGxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLXhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudDsgfSB9XG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHMge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQG0ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1yZW1vdmUge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICosXG4udWstbWFyZ2luLXJlbW92ZS1maXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1sYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHMge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nIHtcbiAgcGFkZGluZzogMzBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1zbWFsbCB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmctbGFyZ2Uge1xuICBwYWRkaW5nOiAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZy1sYXJnZSB7XG4gICAgcGFkZGluZzogNzBweDsgfSB9XG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1yZW1vdmUge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBgbWF4LXdpZHRoOiAxMDAlYCBpcyB1c2VkIGluc2lkZSBwb3NpdGlvbiBjb250YWluZXIuXG4gKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKi9cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogMSAqL1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDsgfVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIge1xuICB0b3A6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBib3R0b206IDA7IH1cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstcG9zaXRpb24tc21hbGwge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgxNXB4ICogMikpO1xuICBtYXJnaW46IDE1cHg7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMTVweCwgLTE1cHgpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0xNXB4KTsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTE1cHgpOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLnVrLXBvc2l0aW9uLW1lZGl1bSB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDMwcHggKiAyKSk7XG4gIG1hcmdpbjogMzBweDsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMzBweCwgLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMzBweCAqIDIpKTtcbiAgbWFyZ2luOiAzMHB4OyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTMwcHgsIC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICg1MHB4ICogMikpO1xuICAgIG1hcmdpbjogNTBweDsgfVxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTUwcHgsIC01MHB4KTsgfVxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTUwcHgpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICpcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWAsXG4gKiAgICAgICB0aGVyZWZvcmUgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgYW4gZXh0cmEgYGRpdmAgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICovXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gIG9wYWNpdHk6IDA7IH1cblxuLypcbiAqIEZhZGVcbiAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tZmFkZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuN3M7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5baGlkZGVuXSxcbi51ay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstaGlkZGVuXFxAcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51ay1oaWRkZW5cXEBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWhpZGRlblxcQGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1oaWRkZW5cXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWstdmlzaWJsZVxcQHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudWstdmlzaWJsZVxcQG0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLXZpc2libGVcXEBsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gIC51ay12aXNpYmxlXFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGRlblxuICogMS4gVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZFxuICogICAgRG9lc24ndCB3b3JrIGluIEVkZ2UsIHlldC5cbiAqIDMuIENhbid0IHVzZSBgZGlzcGxheTogbm9uZWAgbm9yIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgYm90aCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqXG4gKi9cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWhpZGRlbi1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBJbnZpc2libGVcbiAqL1xuLyogMSArIDIgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaW52aXNpYmxlLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIC8qIDMgKi9cbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG4udWstdmlzaWJsZS10b2dnbGUge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWhpZGRlbi10b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAudWstaGlkZGVuLW5vdG91Y2gge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TaXRlIE5hbWU6XG5BdXRob3I6XG5cblN0eWxlc2hlZXQ6IFNhc3MgRnVuY3Rpb25zXG5cbllvdSBjYW4gZG8gYSBsb3Qgb2YgcmVhbGx5IGNvb2wgdGhpbmdzIGluIFNhc3MuIEZ1bmN0aW9ucyBoZWxwIHlvdVxubWFrZSByZXBlYXRlZCBhY3Rpb25zIGEgbG90IGVhc2llci4gVGhleSBhcmUgcmVhbGx5IHNpbWlsYXIgdG8gbWl4aW5zLFxuYnV0IGNhbiBiZSB1c2VkIGZvciBzbyBtdWNoIG1vcmUuXG5cbkFueXdheSwga2VlcCB0aGVtIGFsbCBpbiBoZXJlIHNvIGl0J3MgZWFzaWVyIHRvIGZpbmQgd2hlbiB5b3UncmVcbmxvb2tpbmcgZm9yIG9uZS5cblxuRm9yIG1vcmUgaW5mbyBvbiBmdW5jdGlvbnMsIGdvIGhlcmU6XG5odHRwOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL1Nhc3MvU2NyaXB0L0Z1bmN0aW9ucy5odG1sXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbkNPTE9SIEZVTkNUSU9OU1xuVGhlc2UgYXJlIGhlbHBmdWwgd2hlbiB5b3UncmUgd29ya2luZ1xud2l0aCBzaGFkb3dzIGFuZCBzdWNoIHRoaW5ncy4gSXQncyBlc3NlbnRpYWxseVxuYSBxdWlja2VyIHdheSB0byB3cml0ZSBSR0JBLlxuXG5FeGFtcGxlOlxuYm94LXNoYWRvdzogMCAwIDRweCBibGFjaygwLjMpO1xuY29tcGlsZXMgdG86XG5ib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwwLDAsMC4zKTtcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcblJFU1BPTlNJVkUgSEVMUEVSIEZVTkNUSU9OXG5JZiB5b3UncmUgY3JlYXRpbmcgYSByZXNwb25zaXZlIHNpdGUsIHRoZW5cbnlvdSd2ZSBwcm9iYWJseSBhbHJlYWR5IHJlYWRcblJlc3BvbnNpdmUgV2ViIERlc2lnbjogaHR0cDovL3d3dy5hYm9va2FwYXJ0LmNvbS9wcm9kdWN0cy9yZXNwb25zaXZlLXdlYi1kZXNpZ25cblxuSGVyZSdzIGEgbmljZSBsaXR0bGUgaGVscGVyIGZ1bmN0aW9uIGZvciBjYWxjdWxhdGluZ1xudGFyZ2V0IC8gY29udGV4dFxuYXMgbWVudGlvbmVkIGluIHRoYXQgYm9vay5cblxuRXhhbXBsZTpcbndpZHRoOiBjcCg2NTBweCwgMTAwMHB4KTtcbm9yXG53aWR0aDogY2FsYy1wZXJjZW50KDY1MHB4LCAxMDAwcHgpO1xuYm90aCBjb21waWxlIHRvOlxud2lkdGg6IDY1JTtcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbklNUE9SVElORyBNT0RVTEVTXG5Nb2R1bGVzIGFyZSByZXVzYWJsZSBibG9ja3Mgb3IgZWxlbWVudHMgd2UgdXNlIHRocm91Z2hvdXQgdGhlIHByb2plY3QuXG5XZSBjYW4gYnJlYWsgdGhlbSB1cCBhcyBtdWNoIGFzIHdlIHdhbnQgb3IganVzdCBrZWVwIHRoZW0gYWxsIGluIG9uZS5cbkkgbWVhbiwgeW91IGNhbiBkbyB3aGF0ZXZlciB5b3Ugd2FudC4gVGhlIHdvcmxkIGlzIHlvdXIgb3lzdGVyLiBVbmxlc3NcbnlvdSBoYXRlIG95c3RlcnMsIHRoZW4gdGhlIHdvcmxkIGlzIHlvdXIgcGVhbnV0IGJ1dHRlciAmIGplbGx5IHNhbmR3aWNoLlxuKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU2l0ZSBOYW1lOlxuQXV0aG9yOlxuXG5TdHlsZXNoZWV0OiBCdXR0b24gU3R5bGVzXG5cbkJ1dHRvbnMgYXJlIGEgcHJldHR5IGltcG9ydGFudCBwYXJ0IG9mIHlvdXIgc2l0ZSdzIHN0eWxlLCBzbyBpdCdzXG5pbXBvcnRhbnQgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgYmFzZWxpbmUgZm9yIHRoZW0uIFVzZSB0aGlzIHN0eWxlc2hlZXRcbnRvIGNyZWF0ZSBhbGwga2luZHMgb2YgYnV0dG9ucy5cblxuSGVscGZ1bCBMaW5rczpcbmh0dHA6Ly9nYWxwLmluL2Jsb2cvMjAxMS8wOC8wMi90aGUtdWktZ3VpZGUtcGFydC0xLWJ1dHRvbnMvXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbkJVVFRPTiBERUZBVUxUU1xuV2UncmUgZ29ubmEgdXNlIGEgcGxhY2Vob2xkZXIgc2VsZWN0b3IgaGVyZVxuc28gd2UgY2FuIHVzZSBjb21tb24gc3R5bGVzLiBXZSB0aGVuIHVzZSB0aGlzXG50byBsb2FkIHVwIHRoZSBkZWZhdWx0cyBpbiBhbGwgb3VyIGJ1dHRvbnMuXG5cbkhlcmUncyBhIHF1aWNrIHZpZGVvIHRvIHNob3cgaG93IGl0IHdvcmtzOlxuaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWh3ZFZwS2lKemFjXG5cbioqKioqKioqKioqKioqKioqKioqKi9cbi5ibHVlLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJsdWUtYnRuOmhvdmVyLCAuYmx1ZS1idG46Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5ibHVlLWJ0bjphY3RpdmUge1xuICAgIHRvcDogMXB4OyB9XG5cbi8qXG5BbiBleGFtcGxlIGJ1dHRvbi5cbllvdSBjYW4gdXNlIHRoaXMgZXhhbXBsZSBpZiB5b3Ugd2FudC4gSnVzdCByZXBsYWNlIGFsbCB0aGUgdmFyaWFibGVzXG5hbmQgaXQgd2lsbCBjcmVhdGUgYSBidXR0b24gZGVwZW5kYW50IG9uIHRob3NlIHZhcmlhYmxlcy5cbiovXG4uYmx1ZS1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5ibHVlLWJ0bjpob3ZlciwgLmJsdWUtYnRuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU1NWQyOyB9XG4gIC5ibHVlLWJ0bjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDUzY2Q7IH1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2cHggMThweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ucmVkLWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ucmVkLWJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0udmlvbGV0LWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0udmlvbGV0LWJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZ3JlZW4tYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5ncmVlbi1idG46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4ucmVhZC1tb3JlIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDZweCAxOHB4O1xuICBmb250LXNpemU6IDEuNGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7IH1cbiAgLnJlYWQtbW9yZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucmVhZC1tb3JlLmxhcmdlciB7XG4gICAgcGFkZGluZzogMTJweCAyN3B4O1xuICAgIGZvbnQtc2l6ZTogMS44ZW07IH1cbiAgLnJlYWQtbW9yZS5yZWQtYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG4gIC5yZWFkLW1vcmUudmlvbGV0LWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuICAucmVhZC1tb3JlLmdyZWVuLWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG5hLnJlYWQtbW9yZSxcbmEucmVhZC1tb3JlOmFjdGl2ZSxcbmEucmVhZC1tb3JlOmhvdmVyLFxuYS5yZWFkLW1vcmU6dmlzaXRlZCB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBhLnJlYWQtbW9yZTpob3ZlcixcbiAgYS5yZWFkLW1vcmU6YWN0aXZlOmhvdmVyLFxuICBhLnJlYWQtbW9yZTpob3Zlcjpob3ZlcixcbiAgYS5yZWFkLW1vcmU6dmlzaXRlZDpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYmctd2hpdGUgLnJlYWQtbW9yZSB7XG4gIGNvbG9yOiAjZmMzYjNkO1xuICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjZmMzYjNkO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZjM2IzZDsgfVxuICAuYmctd2hpdGUgLnJlYWQtbW9yZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmJnLXZpb2xldCBhLnJlYWQtbW9yZSxcbi5iZy12aW9sZXQgYS5yZWFkLW1vcmU6YWN0aXZlLFxuLmJnLXZpb2xldCBhLnJlYWQtbW9yZTp2aXNpdGVkLFxuLmJnLXZpb2xldCAucmVhZC1tb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjYjQ4MGU1O1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2I0ODBlNTsgfVxuICAuYmctdmlvbGV0IGEucmVhZC1tb3JlOmhvdmVyLFxuICAuYmctdmlvbGV0IGEucmVhZC1tb3JlOmFjdGl2ZTpob3ZlcixcbiAgLmJnLXZpb2xldCBhLnJlYWQtbW9yZTp2aXNpdGVkOmhvdmVyLFxuICAuYmctdmlvbGV0IC5yZWFkLW1vcmU6aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjYjQ4MGU1OyB9XG5cbi5iZy12aW9sZXQgLmJnLXdoaXRlIC5yZWFkLW1vcmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmOyB9XG5cbi5iZy1yZWQgYS5yZWFkLW1vcmUsXG4uYmctcmVkIGEucmVhZC1tb3JlOmFjdGl2ZSxcbi5iZy1yZWQgYS5yZWFkLW1vcmU6dmlzaXRlZCxcbi5iZy1yZWQgLnJlYWQtbW9yZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZjM2IzZDtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmYzNiM2Q7IH1cbiAgLmJnLXJlZCBhLnJlYWQtbW9yZTpob3ZlcixcbiAgLmJnLXJlZCBhLnJlYWQtbW9yZTphY3RpdmU6aG92ZXIsXG4gIC5iZy1yZWQgYS5yZWFkLW1vcmU6dmlzaXRlZDpob3ZlcixcbiAgLmJnLXJlZCAucmVhZC1tb3JlOmhvdmVyIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogI2I0ODBlNTsgfVxuXG4uYmctcmVkIC5iZy13aGl0ZSAucmVhZC1tb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmZmO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZjsgfVxuXG4uYmctd2hpdGUgYS5yZWFkLW1vcmUsXG4uYmctd2hpdGUgYS5yZWFkLW1vcmU6YWN0aXZlLFxuLmJnLXdoaXRlIGEucmVhZC1tb3JlOnZpc2l0ZWQsXG4uYmctd2hpdGUgLnJlYWQtbW9yZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7IH1cbiAgLmJnLXdoaXRlIGEucmVhZC1tb3JlOmhvdmVyLFxuICAuYmctd2hpdGUgYS5yZWFkLW1vcmU6YWN0aXZlOmhvdmVyLFxuICAuYmctd2hpdGUgYS5yZWFkLW1vcmU6dmlzaXRlZDpob3ZlcixcbiAgLmJnLXdoaXRlIC5yZWFkLW1vcmU6aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjZmMzYjNkOyB9XG5cbi5iZy13aGl0ZSAuYmctd2hpdGUgLnJlYWQtbW9yZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7IH1cblxuLmJnLXBpbmsgYS5yZWFkLW1vcmUsXG4uYmctcGluayBhLnJlYWQtbW9yZTphY3RpdmUsXG4uYmctcGluayBhLnJlYWQtbW9yZTp2aXNpdGVkLFxuLmJnLXBpbmsgLnJlYWQtbW9yZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2U4ODFhYTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNlODgxYWE7IH1cbiAgLmJnLXBpbmsgYS5yZWFkLW1vcmU6aG92ZXIsXG4gIC5iZy1waW5rIGEucmVhZC1tb3JlOmFjdGl2ZTpob3ZlcixcbiAgLmJnLXBpbmsgYS5yZWFkLW1vcmU6dmlzaXRlZDpob3ZlcixcbiAgLmJnLXBpbmsgLnJlYWQtbW9yZTpob3ZlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICNiNDgwZTU7IH1cblxuLmJnLXBpbmsgLmJnLXdoaXRlIC5yZWFkLW1vcmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmOyB9XG5cbi5iaWctcmVkLWJ1dHRvbixcbmEuYmlnLXJlZC1idXR0b24sXG5hLmJpZy1yZWQtYnV0dG9uOnZpc2l0ZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTJweCA0OHB4O1xuICBtYXJnaW4tdG9wOiA0NXB4O1xuICBmb250LXNpemU6IDJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmlnLXJlZC1idXR0b24sXG4gICAgYS5iaWctcmVkLWJ1dHRvbixcbiAgICBhLmJpZy1yZWQtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMy4yZW07IH0gfVxuICAuYmlnLXJlZC1idXR0b246aG92ZXIsXG4gIGEuYmlnLXJlZC1idXR0b246aG92ZXIsXG4gIGEuYmlnLXJlZC1idXR0b246dmlzaXRlZDpob3ZlciB7XG4gICAgY29sb3I6ICNmYzNiM2Q7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmJpZy1yZWQtYnV0dG9uIC5iZy13aGl0ZSAucmVhZC1tb3JlLFxuICBhLmJpZy1yZWQtYnV0dG9uIC5iZy13aGl0ZSAucmVhZC1tb3JlLFxuICBhLmJpZy1yZWQtYnV0dG9uOnZpc2l0ZWQgLmJnLXdoaXRlIC5yZWFkLW1vcmUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TaXRlIE5hbWU6XG5BdXRob3I6XG5cblN0eWxlc2hlZXQ6IEZvcm0gU3R5bGVzXG5cbldlIHB1dCBhbGwgdGhlIGZvcm0gYW5kIGJ1dHRvbiBzdHlsZXMgaW4gaGVyZSB0byBzZXR1cCBhIGNvbnNpc3RlbnRcbmxvb2suIElmIHdlIG5lZWQgdG8gY3VzdG9taXplIHRoZW0sIHdlIGNhbiBkbyB0aGlzIGluIHRoZSBtYWluXG5zdHlsZXNoZWV0cyBhbmQganVzdCBvdmVycmlkZSB0aGVtLiBFYXN5IFBlYXN5LlxuXG5Zb3UncmUgZ29ubmEgc2VlIGEgZmV3IGRhdGEtdXJpIHRoaW5naWVzIGRvd24gdGhlcmUuIElmIHlvdSdyZSBub3RcbnN1cmUgd2hhdCB0aGV5IGFyZSwgY2hlY2sgdGhpcyBsaW5rIG91dDpcbmh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9kYXRhLXVyaXMvXG5JZiB5b3Ugd2FudCB0byBjcmVhdGUgeW91ciBvd24sIHVzZSB0aGlzIGhlbHBmdWwgbGluazpcbmh0dHA6Ly93ZWJzZW1hbnRpY3MuY28udWsvb25saW5lX3Rvb2xzL2ltYWdlX3RvX2RhdGFfdXJpX2NvbnZlcnRvci9cblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKlxuSU5QVVRTXG4qKioqKioqKioqKioqKioqKioqKiovXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG5zZWxlY3QsXG50ZXh0YXJlYSxcbi5maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxNHB4IDlweCAxMHB4IDlweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbiAgc2VsZWN0OmZvY3VzLFxuICBzZWxlY3Q6YWN0aXZlLFxuICB0ZXh0YXJlYTpmb2N1cyxcbiAgdGV4dGFyZWE6YWN0aXZlLFxuICAuZmllbGQ6Zm9jdXMsXG4gIC5maWVsZDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6cGxhY2Vob2xkZXIsXG4gIHNlbGVjdDo6cGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOjpwbGFjZWhvbGRlcixcbiAgLmZpZWxkOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmVycm9yLCBpbnB1dFt0eXBlPVwidGV4dFwiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaXMtaW52YWxpZCxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmVycm9yLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaXMtaW52YWxpZCxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlzLWludmFsaWQsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLmVycm9yLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLmVycm9yLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLmlzLWludmFsaWQsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLmlzLWludmFsaWQsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0uaXMtaW52YWxpZCxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5pcy1pbnZhbGlkLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLmVycm9yLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLmlzLWludmFsaWQsXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLmlzLWludmFsaWQsXG4gIHNlbGVjdC5lcnJvcixcbiAgc2VsZWN0LmlzLWludmFsaWQsXG4gIHRleHRhcmVhLmVycm9yLFxuICB0ZXh0YXJlYS5pcy1pbnZhbGlkLFxuICAuZmllbGQuZXJyb3IsXG4gIC5maWVsZC5pcy1pbnZhbGlkIHtcbiAgICBjb2xvcjogI2ZiZTNlNDtcbiAgICBib3JkZXItY29sb3I6ICNmYmUzZTQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQllBQUFBV0NBWUFBQURFdEd3N0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzJORE0wTkRSRVFrWXdORUl4TVVVeU9USTRSRVpHUVRFek16QTJNRGN5TmlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMk5ETTBORFJFUTBZd05FSXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pRM09EUkdSa0UyUmpBMFFURXhSVEk1TWpoRVJrWkJNVE16TURZd056STJJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalkwTXpRME5FUkJSakEwUWpFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtVOGlUNXdBQUFlZEpSRUZVZU5xazFVOUkwMkVjeC9IdFYzYUlGQWMxaGNSRFVvR1hSQXEwb05MQTJDcnNFRm1IYmlrWnUwaVFZSUZHWUFpZWdrQ3BMaXBCeFBwREVCTVV6QjBFaFNHMkxoRzdoTVIyR3ZpUGdVVHZCNTdCdzhQMytVMjNCMTZIUFg4K2UvYjhudDkzd2V6WlNNQ25oWEVURjNBY0I1QkRDbkg4RHE5OEV4Y0dIY0ZuOEFoM2NkRG5pK2Z4blBEdjlvQW5UQjdDS3U2VkNGWHRDaFp5NTZMeFVqdCtqZnVCOHRvU090aDl3ZDd4V0FXaHFyVWpZUi9GUlR3V0ptK2lJUFQvdzdiUWY1bGppWm5CZzQ1ZHRLRlg2SCtMVThnSVk4T0VWNnZnVGtTdHdYV0U4QlBUR0RIR1BxTlB6Mm1DZlNPT1lrQTk5VHZDdDFiaEdQTDY4ek1jd21uY011YXBlMTBqckkrcTRCYkhpL0ZMbjMxUzl6Mng1dFJoVGMrMVc1MDZpcE0rVDNvUkQ0WCs4K3F0YzRTcUZ2TDB6L0ZyMTRTK1N6amlzOGJ6OUx2dmFxOGN3Uy93d0dmZGxxZlBTV3FUaUZsWDc3bzEzdTlZbTFQQnM4SkF5dHBSb3k0NFg5RnQ5RS9ndmJBK3JZS244TmNhYU1WYzhVSGdCdzRiOS9pcVVRWjZoT0FKRmJ5RGNVZmxtc0VYNGE2K3dUdEhHZmhBSVVxYTFVMjlaYzJCeXRvdVRoRDh4Nnh1TjVDdE1QaTJDclhMWmtaZi9IeVpvUkZDUDduK1FWUjRQVjd1SS9BakdnaE43T1UvcjFpbG5xSUx0ZnBOQytvNnZJRmxqQktZbGhiL0YyQUFnYUJzV1I1d1JpSUFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICBvdXRsaW5lLWNvbG9yOiAjZmJlM2U0OyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnN1Y2Nlc3MsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uc3VjY2VzcyxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0uc3VjY2VzcyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uc3VjY2VzcyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5zdWNjZXNzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pcy12YWxpZCxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLnN1Y2Nlc3MsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXS5pcy12YWxpZCxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uc3VjY2VzcyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaXMtdmFsaWQsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLnN1Y2Nlc3MsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLnN1Y2Nlc3MsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uaXMtdmFsaWQsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5zdWNjZXNzLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0uaXMtdmFsaWQsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0uc3VjY2VzcyxcbiAgaW5wdXRbdHlwZT1cInVybFwiXS5pcy12YWxpZCxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5zdWNjZXNzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLmlzLXZhbGlkLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLnN1Y2Nlc3MsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0uaXMtdmFsaWQsXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXS5zdWNjZXNzLFxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl0uaXMtdmFsaWQsXG4gIHNlbGVjdC5zdWNjZXNzLFxuICBzZWxlY3QuaXMtdmFsaWQsXG4gIHRleHRhcmVhLnN1Y2Nlc3MsXG4gIHRleHRhcmVhLmlzLXZhbGlkLFxuICAuZmllbGQuc3VjY2VzcyxcbiAgLmZpZWxkLmlzLXZhbGlkIHtcbiAgICBjb2xvcjogI2U2ZWZjMjtcbiAgICBib3JkZXItY29sb3I6ICNlNmVmYzI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQllBQUFBV0NBWUFBQURFdEd3N0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzJORE0wTkRSRVJrWXdORUl4TVVVeU9USTRSRVpHUVRFek16QTJNRGN5TmlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMk5ETTBORFJGTUVZd05FSXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pZME16UTBORVJFUmpBMFFqRXhSVEk1TWpoRVJrWkJNVE16TURZd056STJJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalkwTXpRME5FUkZSakEwUWpFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCs3b2xrVFFBQUFmaEpSRUZVZU5xa2xVOW9FMEVVaHpkcm9XancwdEJlV2xEeGtFYUlwNTVUc0NVOVZLSWdDckhCZWxBOENRMUtyMVdQYlpyUTNncXRRcXZHcXhwUWMyakJrNkJJSWFBR0Q0cU5DS1VScERTS2lQaTk4Z0xEc0p0Ly91QmpzenR2Zm5rNzg5NXNJUEF3Ni9qb0dNVGhGSnlBWG4yK0ErOWdBNTcvVGFZL2VVME9lQmdmaEdtNERpR25zYjdEQXN6eEJ6L05BZGNLak1KTHVOV0NxYWdIYnNzY041K0wraG1INFFrTU9lMUw1anpGZk5BMlBnVDM0YWpUdVk3QUd1WkIwL2htaDVtK2dTMHI4eHYxelJ2ZytnR0NIWmlPd25GNERQM2lCM3NRa1l4UGQyQzZDV2ZoQjlYd2x1czUrSzFqNGpYdWFxM2ErZ00xSDlPUGNBYSs3cTlsUGlkWkpxSGJpSW03V2cyMnJzRUk3RnJQU3pBTVgvVCtBRHlBS1NzdTdGcjFLcGxlaEx2d0NzNUR2ZkJmNjVwK015cHFSYk8xRlhLOXV0SDQvUUt1YXFZVHNHM0UzSU5KdjAwUTQ2cHgzK1h4YW5KL1V0ZTIvdnFQNEZLRHphMktjZGxqSUtkbmhTMHhYWVVMVGFxbUxNWkZuOEZGU0Z0dnQ2eDcwRXhGQ1M1b1VYc3BxMnNzYTdvRWwxc3dGYStDR0ZkZ3RrSGdQRHlES3kwMnp5eE5VNmxYUlVaYjFFdUhZYXlOTnMrWWg1QjBXUW8rLzhmcEpuTlRaRnV6ejJPcGpvUTJRcnVTT1FsTXkzNWZFR21FR014WTllMWJyeG9idzdUa1dBMWg2eGZja1VQYitKaEdvRS9IcGZ2ZXc3cVVsZC9IOUo4QUF3RHB3M1dZcnhjWjNRQUFBQUJKUlU1RXJrSmdnZz09KTtcbiAgICBvdXRsaW5lLWNvbG9yOiAjZTZlZmMyOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRleHRcIl0uaXMtZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLmlzLWRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uaXMtZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaXMtZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uaXMtZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInVybFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0uaXMtZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLmlzLWRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXS5pcy1kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLmlzLWRpc2FibGVkLFxuICBzZWxlY3RbZGlzYWJsZWRdLFxuICBzZWxlY3QuaXMtZGlzYWJsZWQsXG4gIHRleHRhcmVhW2Rpc2FibGVkXSxcbiAgdGV4dGFyZWEuaXMtZGlzYWJsZWQsXG4gIC5maWVsZFtkaXNhYmxlZF0sXG4gIC5maWVsZC5pcy1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBib3JkZXItY29sb3I6ICNjZmNmY2Y7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl1bZGlzYWJsZWRdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF06YWN0aXZlLCBpbnB1dFt0eXBlPVwidGV4dFwiXS5pcy1kaXNhYmxlZDpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl0uaXMtZGlzYWJsZWQ6YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF06Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLmlzLWRpc2FibGVkOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5pcy1kaXNhYmxlZDphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1bZGlzYWJsZWRdOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0uaXMtZGlzYWJsZWQ6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bZGlzYWJsZWRdOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uaXMtZGlzYWJsZWQ6YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlzLWRpc2FibGVkOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl1bZGlzYWJsZWRdOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJtb250aFwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJtb250aFwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaXMtZGlzYWJsZWQ6YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidGltZVwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlzLWRpc2FibGVkOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwid2Vla1wiXVtkaXNhYmxlZF06Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cIndlZWtcIl1bZGlzYWJsZWRdOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwid2Vla1wiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwid2Vla1wiXS5pcy1kaXNhYmxlZDphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtkaXNhYmxlZF06Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uaXMtZGlzYWJsZWQ6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5pcy1kaXNhYmxlZDphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl1bZGlzYWJsZWRdOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0uaXMtZGlzYWJsZWQ6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLmlzLWRpc2FibGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiY29sb3JcIl1bZGlzYWJsZWRdOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJjb2xvclwiXVtkaXNhYmxlZF06YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJjb2xvclwiXS5pcy1kaXNhYmxlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiY29sb3JcIl0uaXMtZGlzYWJsZWQ6YWN0aXZlLFxuICAgIHNlbGVjdFtkaXNhYmxlZF06Zm9jdXMsXG4gICAgc2VsZWN0W2Rpc2FibGVkXTphY3RpdmUsXG4gICAgc2VsZWN0LmlzLWRpc2FibGVkOmZvY3VzLFxuICAgIHNlbGVjdC5pcy1kaXNhYmxlZDphY3RpdmUsXG4gICAgdGV4dGFyZWFbZGlzYWJsZWRdOmZvY3VzLFxuICAgIHRleHRhcmVhW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgdGV4dGFyZWEuaXMtZGlzYWJsZWQ6Zm9jdXMsXG4gICAgdGV4dGFyZWEuaXMtZGlzYWJsZWQ6YWN0aXZlLFxuICAgIC5maWVsZFtkaXNhYmxlZF06Zm9jdXMsXG4gICAgLmZpZWxkW2Rpc2FibGVkXTphY3RpdmUsXG4gICAgLmZpZWxkLmlzLWRpc2FibGVkOmZvY3VzLFxuICAgIC5maWVsZC5pcy1kaXNhYmxlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZWRmODsgfVxuXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICBsZXR0ZXItc3BhY2luZzogMC4zZW07IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQThBQUFBSENBWUFBQURYaFJjbkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEVPRVpDTWpZeE1FWXdOVVV4TVVVeU9USTRSRVpHUVRFek16QTJNRGN5TmlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwRU9FWkNNall4TVVZd05VVXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tRNFJrSXlOakJGUmpBMVJURXhSVEk1TWpoRVJrWkJNVE16TURZd056STJJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa1E0UmtJeU5qQkdSakExUlRFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtWeGtwOWdBQUFJOUpSRUZVZU5waWRIRnh1Y0hBd0tBT3hFK0FtSm1CTVBnTHhESkFmSk1GU0t3RDRrcW9BQ2xnQStQLy8vOFpYRjFkUGFDR2NCS2g2UWNRQiszZXZYczdXRE1JQUEyUUIxSTdnRmdEajBhUUZ6MkJHaCtBT0V3d1VhREFReUJsQ01SN2NHamNDNUtIYVFRQnVNM0lBT2lLVGlCVmhpVFVEZFJVaHE0T3EyYW9BZWxBYWhJUTV3TTF6c0NtQmlEQUFEaFlNSlhWWjl1OUFBQUFBRWxGVGtTdVFtQ0MpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5Ny41JSBjZW50ZXI7IH1cblxuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGNvbG9yOiAjZmMzYjNkO1xuICBmb250LXNpemU6IDEuMmVtOyB9XG5cbi53cGNmNyBmb3JtLmludmFsaWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLnVuYWNjZXB0ZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLnBheW1lbnQtcmVxdWlyZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2U4ODFhYTsgfVxuXG4ud3BjZjcgZm9ybSBzcGFuLndwY2Y3LW5vdC12YWxpZC10aXAsXG4ud3BjZjcgZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLndwY2Y3IGZvcm0gc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwLFxuICAgIC53cGNmNyBmb3JtIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG5cbi53cGNmNyBmb3JtIHNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIGNvbG9yOiAjZmMzYjNkOyB9XG5cbi53cGNmNyBmb3JtIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICBib3JkZXItY29sb3I6ICNlODgxYWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXJnaW46IDQ1cHggMCAwIDA7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTo6cGxhY2Vob2xkZXIsXG4ud3BjZjcgZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl06OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl06OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIsXG4ud3BjZjcgZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdOjpwbGFjZWhvbGRlcixcbi53cGNmNyBmb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6cGxhY2Vob2xkZXIsXG4ud3BjZjcgZm9ybSBzZWxlY3Q6OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuLndwY2Y3IGZvcm0gLmZpZWxkOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi53cGNmNyBmb3JtLnNlbnQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gIGJvcmRlci1jb2xvcjogIzFhYjM0NztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogMTJweCAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC01cHg7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTVweDsgfVxuXG4vKlxuICAgKiAzRFhcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogNDBweDsgfVxuXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWJveCB7XG4gIHBlcnNwZWN0aXZlOiA0MHB4OyB9XG5cbi5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RZXG4gICAqL1xuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDQwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDQwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHktciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qXG4gICAqIDNEWFlcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDQwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHh5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogNDBweDsgfVxuXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogQXJyb3dcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cHgsIC01cHgsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cHgsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdCBSaWdodFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgLTVweCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi8qXG4gICAqIEFycm93IFR1cm5cbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4vKlxuICAgKiBBcnJvdyBUdXJuIFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7IH1cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4vKlxuICAgKiBCb3JpbmdcbiAgICovXG4uaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci0tYm9yaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tYm9yaW5nIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTsgfVxuXG4uaGFtYnVyZ2VyLS1ib3JpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLWJvcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG5cbi8qXG4gICAqIENvbGxhcHNlXG4gICAqL1xuLmhhbWJ1cmdlci0tY29sbGFwc2UgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAtMTBweDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgb3BhY2l0eSAwLjFzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTEwcHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMC4xcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2Utci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogRWxhc3RpY1xuICAgKi9cbi5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMXB4O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7IH1cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7IH1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuXG4vKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMXB4O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG5cbi5oYW1idXJnZXItLWVsYXN0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoLTEzNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7IH1cblxuLypcbiAgICogRW1waGF0aWNcbiAgICovXG4uaGFtYnVyZ2VyLS1lbXBoYXRpYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNDBweDtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQwcHgsIDQwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00MHB4LCA0MHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XG5cbi8qXG4gICAqIEVtcGhhdGljIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNDBweDtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDBweCwgLTQwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwcHgsIC00MHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cblxuLypcbiAgICogTWludXNcbiAgICovXG4uaGFtYnVyZ2VyLS1taW51cyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLW1pbnVzIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LCB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsIG9wYWNpdHkgMHMgbGluZWFyOyB9XG5cbi5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCwgdG9wIDAuMDhzIGVhc2Utb3V0LCBvcGFjaXR5IDBzIDAuMDhzIGxpbmVhcjsgfVxuXG4uaGFtYnVyZ2VyLS1taW51cy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwOyB9XG5cbi5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKlxuICAgKiBTbGlkZXJcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMXB4OyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogNXB4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1czsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMTBweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtMi44NTcxNDI4NTcxcHgsIC0zcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC05MGRlZyk7IH1cblxuLypcbiAgICogU2xpZGVyIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXItciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAxcHg7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDVweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMTBweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMi44NTcxNDI4NTcxcHgsIC0zcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoOTBkZWcpOyB9XG5cbi8qXG4gICAqIFNwaW5cbiAgICovXG4uaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNwaW4gLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCwgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0OyB9XG4gIC5oYW1idXJnZXItLXNwaW4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwaW4tciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3ByaW5nXG4gICAqL1xuLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDFweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyAwLjEzcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTEwcHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMHMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIG9wYWNpdHkgMHMgMC4yMnMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3RhbmRcbiAgICovXG4uaGFtYnVyZ2VyLS1zdGFuZCAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3RhbmQgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbi5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDc1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIGVhc2U7IH1cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNxdWVlemUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7IH1cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSwgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBWb3J0ZXhcbiAgICovXG4uaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5OyB9XG4gIC5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07IH1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNzY1ZGVnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLypcbiAgICogVm9ydGV4IFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtOyB9XG5cbi5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTc2NWRlZyk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkJBU0UgKE1PQklMRSkgU0laRVxuVGhpcyBhcmUgdGhlIG1vYmlsZSBzdHlsZXMuIEl0J3Mgd2hhdCBwZW9wbGUgc2VlIG9uIHRoZWlyIHBob25lcy4gSWZcbnlvdSBzZXQgYSBncmVhdCBmb3VuZGF0aW9uLCB5b3Ugd29uJ3QgbmVlZCB0byBhZGQgdG9vIG1hbnkgc3R5bGVzIGluXG50aGUgb3RoZXIgc3R5bGVzaGVldHMuIFJlbWVtYmVyLCBrZWVwIGl0IGxpZ2h0OiBTcGVlZCBpcyBJbXBvcnRhbnQuXG4qKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TaXRlIE5hbWU6XG5BdXRob3I6XG5cblN0eWxlc2hlZXQ6IEJhc2UgTW9iaWxlIFN0eWxlc2hlZXRcblxuQmUgbGlnaHQgYW5kIGRvbid0IG92ZXIgc3R5bGUgc2luY2UgZXZlcnl0aGluZyBoZXJlIHdpbGwgYmVcbmxvYWRlZCBieSBtb2JpbGUgZGV2aWNlcy4gWW91IHdhbnQgdG8ga2VlcCBpdCBhcyBtaW5pbWFsIGFzXG5wb3NzaWJsZS4gVGhpcyBpcyBjYWxsZWQgYXQgdGhlIHRvcCBvZiB0aGUgbWFpbiBzdHlsc2hlZXRcbmFuZCB3aWxsIGJlIHVzZWQgYWNyb3NzIGFsbCB2aWV3cG9ydHMuXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbkdFTkVSQUwgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1YzZiODA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi51ay1zdGlja3ktcGxhY2Vob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDM2cHg7XG4gIG1heC13aWR0aDogMTQ0MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC53cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgNDVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAud3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIDkwcHg7IH1cbiAgICAgIC53cmFwLm5vLXBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLndyYXAud3JhcC1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiAxMDQwcHg7IH1cbiAgLndyYXAud3JhcC1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogMTI0MHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkxJTksgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG5idXR0b246aG92ZXIsXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmEsXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogI2YwMWQ0ZjtcbiAgLyogb24gaG92ZXIgKi9cbiAgLyogb24gY2xpY2sgKi9cbiAgLyogbW9iaWxlIHRhcCBjb2xvciAqLyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICBjb2xvcjogI2QxMGUzYztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmxpbmssIGE6dmlzaXRlZDpsaW5rIHtcbiAgICAvKlxuXHRcdHRoaXMgaGlnaGxpZ2h0cyBsaW5rcyBvbiBpUGhvbmVzL2lQYWRzLlxuXHRcdHNvIGl0IGJhc2ljYWxseSB3b3JrcyBsaWtlIHRoZSA6aG92ZXIgc2VsZWN0b3Jcblx0XHRmb3IgbW9iaWxlIGRldmljZXMuXG5cdFx0Ki9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5IMSwgSDIsIEgzLCBINCwgSDUgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplbGVnaWJpbGl0eTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgLypcblx0aWYgeW91J3JlIGdvaW5nIHRvIHVzZSB3ZWJmb250cywgYmUgc3VyZSB0byBjaGVjayB5b3VyIHdlaWdodHNcblx0aHR0cDovL2Nzcy10cmlja3MuY29tL3dhdGNoLXlvdXItZm9udC13ZWlnaHQvXG5cdCovXG4gIC8qIHJlbW92aW5nIHRleHQgZGVjb3JhdGlvbiBmcm9tIGFsbCBoZWFkbGluZSBsaW5rcyAqLyB9XG4gIGgxIGEsIC5oMSBhLCBoMiBhLCAuaDIgYSwgaDMgYSwgLmgzIGEsIGg0IGEsIC5oNCBhLCBoNSBhLCAuaDUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuNWVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS43NWVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1ZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAwLjg0NmVtO1xuICBsaW5lLWhlaWdodDogMi4wOWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkhFQURFUiBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xM3B4IC0xODVweDtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7IH1cbiAgLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMzBweDsgfSB9XG4gIC51ay1tb2RhbC1jbG9zZS1kZWZhdWx0LnVrLW1vZGFsLWNsb3NlLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE4NXB4OyB9XG5cbiNsb2dvIHtcbiAgbWFyZ2luOiAwLjc1ZW0gMDsgfVxuXG4uc2luZ2xlLXRpdGxlLFxuLnBhZ2UtdGl0bGUsXG4uZW50cnktdGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLyogcG9zdCBtZXRhICovXG4uYnlsaW5lIHtcbiAgY29sb3I6ICM5ZmE2YjQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLXNlY3Rpb24ucHJvamVjdHMtb3ZlcnZpZXctaG9sZGVyIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXNlY3Rpb24ucHJvamVjdHMtb3ZlcnZpZXctaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMDsgfSB9XG4gIC5wYWdlLXNlY3Rpb24ucHJvamVjdHMtb3ZlcnZpZXctaG9sZGVyIC5wcm9qZWN0cy1vdmVydmlldyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2Utc2VjdGlvbi5wcm9qZWN0cy1vdmVydmlldy1ob2xkZXIgLnByb2plY3RzLW92ZXJ2aWV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDsgfSB9XG4gICAgLnBhZ2Utc2VjdGlvbi5wcm9qZWN0cy1vdmVydmlldy1ob2xkZXIgLnByb2plY3RzLW92ZXJ2aWV3IGltZyB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5wYWdlLXNlY3Rpb24ucHJvamVjdHMtb3ZlcnZpZXctaG9sZGVyIC5wcm9qZWN0cy1vdmVydmlldyBpbWcge1xuICAgICAgICAgIGhlaWdodDogOTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnBhZ2Utc2VjdGlvbi5wcm9qZWN0cy1vdmVydmlldy1ob2xkZXIgLnByb2plY3RzLW92ZXJ2aWV3IGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG5cbi53cC1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDQ1cHggMDtcbiAgLyogaW1hZ2VzIGluc2lkZSB3cC1jYXB0aW9uICovIH1cbiAgLndwLWNhcHRpb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIGVuZCAud3AtY2FwdGlvbiAqL1xuLyogaW1hZ2UgZ2FsbGVyeSBzdHlsZXMgKi9cbi8qIGVuZCAuZ2FsbGVyeSAqL1xuLyogZ2FsbGVyeSBjYXB0aW9uIHN0eWxlcyAqL1xuLnRhZ3Mge1xuICBtYXJnaW46IDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuUEFHRSBOQVZJIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnBhZ2luYXRpb24sXG4ud3AtcHJldi1uZXh0IHtcbiAgbWFyZ2luOiAxMjBweCAwIDMwcHggMDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbiB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnaW5hdGlvbiBhLCAucGFnaW5hdGlvbiBzcGFuIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsIC5wYWdpbmF0aW9uIGE6Zm9jdXMsIC5wYWdpbmF0aW9uIHNwYW46aG92ZXIsIC5wYWdpbmF0aW9uIHNwYW46Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAjZmMzYjNkOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICNmYzNiM2Q7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5wYWdpbmF0aW9uIC5jdXJyZW50OmhvdmVyLCAucGFnaW5hdGlvbiAuY3VycmVudDpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZjM2IzZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgZm9ybSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLnBhZ2Utc2VjdGlvbiAuY29udGFjdC1mb3JtLWhvbGRlciBmb3JtIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4ubmV3c2xldHRlci1mb3JtLWhvbGRlcixcbi5wYWdlLXNlY3Rpb24gLmNvbnRhY3QtZm9ybS1ob2xkZXIge1xuICBwYWRkaW5nOiAzNnB4IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIsXG4gICAgLnBhZ2Utc2VjdGlvbiAuY29udGFjdC1mb3JtLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyLFxuICAgIC5wYWdlLXNlY3Rpb24gLmNvbnRhY3QtZm9ybS1ob2xkZXIge1xuICAgICAgcGFkZGluZzogOTBweDsgfSB9XG4gIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5lbnRyeS1jb250ZW50LFxuICAucGFnZS1zZWN0aW9uIC5jb250YWN0LWZvcm0taG9sZGVyIC5lbnRyeS1jb250ZW50IHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnBhZ2Utc2VjdGlvbi1oZWFkZXIsXG4gIC5wYWdlLXNlY3Rpb24gLmNvbnRhY3QtZm9ybS1ob2xkZXIgLnBhZ2Utc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5wYWdlLXNlY3Rpb24taGVhZGVyLFxuICAgICAgLnBhZ2Utc2VjdGlvbiAuY29udGFjdC1mb3JtLWhvbGRlciAucGFnZS1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH0gfVxuICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSxcbiAgLnBhZ2Utc2VjdGlvbiAuY29udGFjdC1mb3JtLWhvbGRlciAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnBhZ2Utc2VjdGlvbi1oZWFkZXIgaDEsXG4gICAgICAucGFnZS1zZWN0aW9uIC5jb250YWN0LWZvcm0taG9sZGVyIC5wYWdlLXNlY3Rpb24taGVhZGVyIGgxIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIge1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG5cbi5wb3N0cy1vdmVydmlldyAuY2F0ZWdvcnktdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICAvKiBhdCB0aGlzIGxhcmdlciBzaXplLCB3ZSBjYW4gc3RhcnQgdG8gYWxpZ24gaW1hZ2VzICovIH1cbiAgICAuZW50cnktY29udGVudCAuYWxpZ25sZWZ0LCAuZW50cnktY29udGVudCBpbWcuYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41ZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0LCAuZW50cnktY29udGVudCBpbWcuYWxpZ25yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuZW50cnktY29udGVudCAuYWxpZ25jZW50ZXIsIC5lbnRyeS1jb250ZW50IGltZy5hbGlnbmNlbnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogZW5kIC5lbnRyeS1jb250ZW50ICovIH1cblxuI21jX2VtYmVkX3NpZ251cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgY29sb3I6ICM1YzZiODA7XG4gIG9wYWNpdHk6IDE7XG4gIC8qIEZpcmVmb3ggKi8gfVxuXG4jbWNfZW1iZWRfc2lnbnVwIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIEludGVybmV0IEV4cGxvcmVyIDEwLTExICovXG4gIGNvbG9yOiAjNWM2YjgwOyB9XG5cbiNtY19lbWJlZF9zaWdudXAgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gIGNvbG9yOiAjNWM2YjgwOyB9XG5cbi5mb290ZXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZvb3Rlci1uYXYgYSxcbiAgLmZvb3Rlci1uYXYgYTphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5mb290ZXItbmF2IGE6aG92ZXIsXG4gICAgLmZvb3Rlci1uYXYgYTphY3RpdmU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuLmZvb3Rlci10b3Age1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5mb290ZXItdG9wIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMDsgfVxuICAgICAgLmZvb3Rlci10b3AgLndyYXAge1xuICAgICAgICBwYWRkaW5nOiAwIDM2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmZvb3Rlci10b3Age1xuICAgICAgcGFkZGluZzogOTBweCAzMHB4OyB9IH1cbiAgLmZvb3Rlci10b3AgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLmZvb3Rlci10b3AgdWwuZm9vdGVyLWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gICAgLmZvb3Rlci10b3AgdWwuZm9vdGVyLWxpbmtzIGEge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZm9vdGVyLXRvcCB1bC5mb290ZXItbGlua3MgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuICAgICAgLmZvb3Rlci10b3AgdWwuZm9vdGVyLWxpbmtzIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5mb290ZXItdG9wIHVsLmZvb3Rlci1saW5rcyBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5mb290ZXItdG9wICNtY19lbWJlZF9zaWdudXAge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuZm9vdGVyLXRvcCAjbWNfZW1iZWRfc2lnbnVwIGlucHV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmZvb3Rlci10b3AgLm91ci1wcm9qZWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZm9vdGVyLXRvcCAub3VyLXByb2plY3RzIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTA1cHg7XG4gICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICBtYXJnaW46IDAgMThweCAxMHB4IDA7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuZm9vdGVyLXRvcCAub3VyLXByb2plY3RzIGxpIGEub3Blbi1oZWFydHMtc3BhY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMThweCAtMjkycHg7IH1cbiAgICAgIC5mb290ZXItdG9wIC5vdXItcHJvamVjdHMgbGkgYS5vcGVuLW11c2ljLXNjaG9vbCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDJweCAtMjkycHg7IH1cbiAgICAgIC5mb290ZXItdG9wIC5vdXItcHJvamVjdHMgbGkgYS5vcGVuLWxhbmd1YWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0OHB4IC0yOTJweDsgfVxuICAgICAgLmZvb3Rlci10b3AgLm91ci1wcm9qZWN0cyBsaSBhLmNvbW11bml0eSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOHB4IC0zNzZweDsgfVxuICAgICAgLmZvb3Rlci10b3AgLm91ci1wcm9qZWN0cyBsaSBhLm9wZW4ta2l0Y2hlbiB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzZweCAtMzczcHg7IH1cbiAgICAgIC5mb290ZXItdG9wIC5vdXItcHJvamVjdHMgbGkgYS5vcGVuLW11c2ljLWxhYiB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDhweCAtMzczcHg7IH1cblxuLmZvb3Rlci1ib3R0b20ge1xuICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvb3Rlci1ib3R0b20ge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLmZvb3Rlci1ib3R0b20gcC5hZGRyZXNzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwOyB9XG4gICAgLmZvb3Rlci1ib3R0b20gcC5hZGRyZXNzIGEsXG4gICAgLmZvb3Rlci1ib3R0b20gcC5hZGRyZXNzIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5mb290ZXItYm90dG9tIHAuYWRkcmVzcyBhOmhvdmVyLFxuICAgICAgLmZvb3Rlci1ib3R0b20gcC5hZGRyZXNzIGE6dmlzaXRlZDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI2lubmVyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAjaW5uZXItaGVhZGVyIC5oYW1idXJnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDAyOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuaGVyby1pdGVtIGgxIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWhvbWUgLmlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuaWZyYW1lLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5pZnJhbWUtaG9sZGVyIC52aWRlby1ob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWhvbWUgLmlmcmFtZS1ob2xkZXIgLnZpZGVvLWhvbGRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5wYWdlLXNlY3Rpb24ucGFnZS1zZWN0aW9uLWludHJvIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXNlY3Rpb24ucGFnZS1zZWN0aW9uLWludHJvIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1pbnRybyB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwOyB9IH1cbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24taW50cm8gLmVudHJ5LWNvbnRlbnQgcCxcbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24taW50cm8gLmVudHJ5LWNvbnRlbnQgbGkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24taW50cm8gLmxvZ28ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24taW50cm8gLmxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1pbnRybyAubG9nbyBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1kb25hdGlvbiB7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1kb25hdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5MHB4IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24tZG9uYXRpb24ge1xuICAgICAgcGFkZGluZzogMTIwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1kb25hdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxNTBweCAwOyB9IH1cbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24tZG9uYXRpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXNlY3Rpb24ucGFnZS1zZWN0aW9uLWRvbmF0aW9uIC5wYWdlLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCA5MHB4OyB9IH1cbiAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1kb25hdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24tZG9uYXRpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgLnN1YmJlciBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24tZG9uYXRpb24gLmJ1dHRvbi1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXNlY3Rpb24ucGFnZS1zZWN0aW9uLWRvbmF0aW9uIC5idXR0b24taG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucGFnZS1zZWN0aW9uLnBhZ2Utc2VjdGlvbi1kb25hdGlvbiAuYnV0dG9uLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTgwcHg7IH0gfVxuXG4uaGlnaGxpZ2h0LWhvbGRlciAucGljdHVyZV9ob2xkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhpZ2hsaWdodC1ob2xkZXIgLnBpY3R1cmVfaG9sZGVyIC5waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAuaGlnaGxpZ2h0LWhvbGRlciAucGljdHVyZV9ob2xkZXIgLm1ldGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjZmMzYjNkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDkwcHggMzBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhpZ2hsaWdodC1ob2xkZXIgLnBpY3R1cmVfaG9sZGVyIC5tZXRhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5oaWdobGlnaHQtaG9sZGVyIC5waWN0dXJlX2hvbGRlciAubWV0YSBoMyB7XG4gICAgICBjb2xvcjogI2ZjM2IzZDtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmhpZ2hsaWdodC1ob2xkZXIgLnBpY3R1cmVfaG9sZGVyIC5tZXRhIHAge1xuICAgICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgIC5oaWdobGlnaHQtaG9sZGVyIC5waWN0dXJlX2hvbGRlciAubWV0YSAucmVhZC1tb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9XG4gIC5oaWdobGlnaHQtaG9sZGVyIC5waWN0dXJlX2hvbGRlcjpob3ZlciAubWV0YSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uaGlnaGxpZ2h0LWhvbGRlciBoMyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ub3Bwb3J0dW5pdGllcyAub3Bwb3J0dW5pdHkge1xuICBwYWRkaW5nOiAzNnB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm9wcG9ydHVuaXRpZXMgLm9wcG9ydHVuaXR5IHtcbiAgICAgIHBhZGRpbmc6IDM2cHggNDhweDsgfSB9XG4gIC5vcHBvcnR1bml0aWVzIC5vcHBvcnR1bml0eSBoMSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLm9wcG9ydHVuaXRpZXMgLm9wcG9ydHVuaXR5IHAge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLm9wcG9ydHVuaXRpZXMgLm9wcG9ydHVuaXR5IGE6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAub3Bwb3J0dW5pdGllcyAub3Bwb3J0dW5pdHkgYTpob3ZlciAub3Bwb3J0dW5pdHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuICAgIC5vcHBvcnR1bml0aWVzIC5vcHBvcnR1bml0eSBhOmhvdmVyIC5yZWFkLW1vcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgY29sb3I6ICMwZjVkZTU7IH1cbiAgICAgIC5vcHBvcnR1bml0aWVzIC5vcHBvcnR1bml0eSBhOmhvdmVyIC5yZWFkLW1vcmU6aG92ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmOyB9XG4gIC5vcHBvcnR1bml0aWVzIC5vcHBvcnR1bml0eSAucmVhZC1tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5vcHBvcnR1bml0aWVzIC5idXR0b24taG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDkwcHg7IH1cblxuLm5ld3NsZXR0ZXItaG9sZGVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmV3c2xldHRlci1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzBweCA0NXB4OyB9IH1cbiAgLm5ld3NsZXR0ZXItaG9sZGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm5ld3NsZXR0ZXItaG9sZGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogI2ZjM2IzZDsgfVxuICAubmV3c2xldHRlci1ob2xkZXIgLnJlc3BvbnNlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDEycHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5uZXdzbGV0dGVyLWhvbGRlciAucmVzcG9uc2UgYSxcbiAgICAubmV3c2xldHRlci1ob2xkZXIgLnJlc3BvbnNlIGE6aG92ZXIsXG4gICAgLm5ld3NsZXR0ZXItaG9sZGVyIC5yZXNwb25zZSBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubmV3c2xldHRlci1ob2xkZXIgLmVudHJ5LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ld3NsZXR0ZXItaG9sZGVyIC5lbnRyeS1jb250ZW50IC5tYy1maWVsZC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLm1vZGFsLXR5cGUtZ2l2ZSAudWstbW9kYWwtZGlhbG9nLm9wcG9ydHVuaXR5LW1vZGFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4ubW9kYWwtdHlwZS1yZWNlaXZlIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG5cbi5wYWdlLXNlY3Rpb24tYXdhcmRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAucGFnZS1zZWN0aW9uLWF3YXJkcyBsaSB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS1zZWN0aW9uLWF3YXJkcyAuYXdhcmQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlLXNlY3Rpb24tYXdhcmRzIC5hd2FyZDpiZWZvcmUsIC5wYWdlLXNlY3Rpb24tYXdhcmRzIC5hd2FyZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLnBhZ2Utc2VjdGlvbi1hd2FyZHMgLmF3YXJkOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzcHggLTU2MHB4OyB9XG4gICAgLnBhZ2Utc2VjdGlvbi1hd2FyZHMgLmF3YXJkOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNnB4IC01NjBweDsgfVxuICAgIC5wYWdlLXNlY3Rpb24tYXdhcmRzIC5hd2FyZCBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTsgfVxuICAgIC5wYWdlLXNlY3Rpb24tYXdhcmRzIC5hd2FyZCBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW46IDNweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMi40ZW07IH1cbiAgICAucGFnZS1zZWN0aW9uLWF3YXJkcyAuYXdhcmQgcC55ZWFyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuNmVtOyB9XG5cbi51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhO1xuICBwYWRkaW5nOiA0NXB4O1xuICB3aWR0aDogOTAwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnVrLW1vZGFsLWRpYWxvZy5vcHBvcnR1bml0eS1tb2RhbCB7XG4gICAgICBwYWRkaW5nOiA5MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwge1xuICAgICAgcGFkZGluZzogMTIwcHg7IH0gfVxuICAudWstbW9kYWwtZGlhbG9nLm9wcG9ydHVuaXR5LW1vZGFsIC5wYWdlLXNlY3Rpb24taGVhZGVyIHAuc3ViYmVyIHtcbiAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwIDAgMjRweCAwOyB9XG4gIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwgaDEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDIuN2VtO1xuICAgIG1hcmdpbjogMCAwIDI0cHggMDtcbiAgICBmb250LWZhbWlseTogcGxheWZhaXItZGlzcGxheSwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwgaDEge1xuICAgICAgICBmb250LXNpemU6IDMuNmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAudWstbW9kYWwtZGlhbG9nLm9wcG9ydHVuaXR5LW1vZGFsIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjhlbTsgfSB9XG4gIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwgcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLnVrLW1vZGFsLWRpYWxvZy5vcHBvcnR1bml0eS1tb2RhbCBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudWstbW9kYWwtZGlhbG9nLm9wcG9ydHVuaXR5LW1vZGFsIHAsXG4gIC51ay1tb2RhbC1kaWFsb2cub3Bwb3J0dW5pdHktbW9kYWwgaDEge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1vdXItY29tbXVuaXR5IC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LW91ci1jb21tdW5pdHkgYSwgLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktb3VyLWNvbW11bml0eSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2U4ODFhYTsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3RzLW92ZXJ2aWV3IC5wYWdlLXNlY3Rpb24uY2F0LW91ci1jb21tdW5pdHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5hcmNoaXZlLmNhdGVnb3J5LW91ci1jb21tdW5pdHkgI21haW4sXG4uYXJjaGl2ZS5jYXRlZ29yeS1vdXItY29tbXVuaXR5IC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbi5vdXItY29tbXVuaXR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5wYWdlLXNlY3Rpb24ub3VyLWNvbW11bml0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktd2hhdC13ZS1kbyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS13aGF0LXdlLWRvIGEsIC5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LXdoYXQtd2UtZG8gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMwZjVkZTU7IH1cblxuLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyAucGFnZS1zZWN0aW9uLmNhdC13aGF0LXdlLWRvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS13aGF0LXdlLWRvICNtYWluLFxuLmFyY2hpdmUuY2F0ZWdvcnktd2hhdC13ZS1kbyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5wYWdlLXNlY3Rpb24ud2hhdC13ZS1kbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLndoYXQtd2UtZG8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LXNvY2lldHkgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktc29jaWV0eSBhLCAuc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1zb2NpZXR5IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMWFiMzQ3OyB9XG5cbi5zaW5nbGUtcG9zdCAucG9zdHMtb3ZlcnZpZXcgLnBhZ2Utc2VjdGlvbi5jYXQtc29jaWV0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLmFyY2hpdmUuY2F0ZWdvcnktc29jaWV0eSAjbWFpbixcbi5hcmNoaXZlLmNhdGVnb3J5LXNvY2lldHkgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAucGFnZS1zZWN0aW9uLnNvY2lldHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbi5zb2NpZXR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1tZW50YWwtaGVhbHRoLXdpdGgtZWVkLWJlLWVlZCAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1tZW50YWwtaGVhbHRoLXdpdGgtZWVkLWJlLWVlZCBhLCAuc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1tZW50YWwtaGVhbHRoLXdpdGgtZWVkLWJlLWVlZCBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZkYTYyOTsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3RzLW92ZXJ2aWV3IC5wYWdlLXNlY3Rpb24uY2F0LW1lbnRhbC1oZWFsdGgtd2l0aC1lZWQtYmUtZWVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1tZW50YWwtaGVhbHRoLXdpdGgtZWVkLWJlLWVlZCAjbWFpbixcbi5hcmNoaXZlLmNhdGVnb3J5LW1lbnRhbC1oZWFsdGgtd2l0aC1lZWQtYmUtZWVkIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbi5tZW50YWwtaGVhbHRoLXdpdGgtZWVkLWJlLWVlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGE2Mjk7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLm1lbnRhbC1oZWFsdGgtd2l0aC1lZWQtYmUtZWVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1taWdyYXRpb24tbWF0dGVycyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1taWdyYXRpb24tbWF0dGVycyBhLCAuc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1taWdyYXRpb24tbWF0dGVycyBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2I0ODBlNTsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3RzLW92ZXJ2aWV3IC5wYWdlLXNlY3Rpb24uY2F0LW1pZ3JhdGlvbi1tYXR0ZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1taWdyYXRpb24tbWF0dGVycyAjbWFpbixcbi5hcmNoaXZlLmNhdGVnb3J5LW1pZ3JhdGlvbi1tYXR0ZXJzIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbi5taWdyYXRpb24tbWF0dGVycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNDgwZTU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLm1pZ3JhdGlvbi1tYXR0ZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1vcGluaW9uIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LW9waW5pb24gYSwgLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktb3BpbmlvbiBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZjM2IzZDsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3RzLW92ZXJ2aWV3IC5wYWdlLXNlY3Rpb24uY2F0LW9waW5pb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG5cbi5hcmNoaXZlLmNhdGVnb3J5LW9waW5pb24gI21haW4sXG4uYXJjaGl2ZS5jYXRlZ29yeS1vcGluaW9uIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbi5vcGluaW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5wYWdlLXNlY3Rpb24ub3BpbmlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktZ2xvYmFsLWtpdGNoZW4gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktZ2xvYmFsLWtpdGNoZW4gYSwgLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktZ2xvYmFsLWtpdGNoZW4gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMwZjVkZTU7IH1cblxuLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyAucGFnZS1zZWN0aW9uLmNhdC1nbG9iYWwta2l0Y2hlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLmFyY2hpdmUuY2F0ZWdvcnktZ2xvYmFsLWtpdGNoZW4gI21haW4sXG4uYXJjaGl2ZS5jYXRlZ29yeS1nbG9iYWwta2l0Y2hlbiAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5wYWdlLXNlY3Rpb24uZ2xvYmFsLWtpdGNoZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbi5nbG9iYWwta2l0Y2hlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktY29tbXVuaXR5LW5ld3MgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktY29tbXVuaXR5LW5ld3MgYSwgLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktY29tbXVuaXR5LW5ld3MgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNlODgxYWE7IH1cblxuLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyAucGFnZS1zZWN0aW9uLmNhdC1jb21tdW5pdHktbmV3cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLmFyY2hpdmUuY2F0ZWdvcnktY29tbXVuaXR5LW5ld3MgI21haW4sXG4uYXJjaGl2ZS5jYXRlZ29yeS1jb21tdW5pdHktbmV3cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5wYWdlLXNlY3Rpb24uY29tbXVuaXR5LW5ld3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbi5jb21tdW5pdHktbmV3cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktb3VyLWNvbW11bml0eSAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1vdXItY29tbXVuaXR5IGEsIC5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LW91ci1jb21tdW5pdHkgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNlODgxYWE7IH1cblxuLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyAucGFnZS1zZWN0aW9uLmNhdC1vdXItY29tbXVuaXR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1vdXItY29tbXVuaXR5ICNtYWluLFxuLmFyY2hpdmUuY2F0ZWdvcnktb3VyLWNvbW11bml0eSAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5wYWdlLXNlY3Rpb24ub3VyLWNvbW11bml0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLm91ci1jb21tdW5pdHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LW91ci1wcm9qZWN0cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1vdXItcHJvamVjdHMgYSwgLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktb3VyLXByb2plY3RzIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMGY1ZGU1OyB9XG5cbi5zaW5nbGUtcG9zdCAucG9zdHMtb3ZlcnZpZXcgLnBhZ2Utc2VjdGlvbi5jYXQtb3VyLXByb2plY3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1vdXItcHJvamVjdHMgI21haW4sXG4uYXJjaGl2ZS5jYXRlZ29yeS1vdXItcHJvamVjdHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAucGFnZS1zZWN0aW9uLm91ci1wcm9qZWN0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLm91ci1wcm9qZWN0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktb3BpbmlvbiAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1vcGluaW9uIGEsIC5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LW9waW5pb24gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMxYWIzNDc7IH1cblxuLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyAucGFnZS1zZWN0aW9uLmNhdC1vcGluaW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1vcGluaW9uICNtYWluLFxuLmFyY2hpdmUuY2F0ZWdvcnktb3BpbmlvbiAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5wYWdlLXNlY3Rpb24ub3BpbmlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLm9waW5pb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiBhcnRpY2xlLmNhdGVnb3J5LWZyb20tdGhlLXRlYW0gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGE2Mjk7IH1cblxuLnNpbmdsZS1wb3N0ICNtYWluIGFydGljbGUuY2F0ZWdvcnktZnJvbS10aGUtdGVhbSBhLCAuc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1mcm9tLXRoZS10ZWFtIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmRhNjI5OyB9XG5cbi5zaW5nbGUtcG9zdCAucG9zdHMtb3ZlcnZpZXcgLnBhZ2Utc2VjdGlvbi5jYXQtZnJvbS10aGUtdGVhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGE2Mjk7IH1cblxuLmFyY2hpdmUuY2F0ZWdvcnktZnJvbS10aGUtdGVhbSAjbWFpbixcbi5hcmNoaXZlLmNhdGVnb3J5LWZyb20tdGhlLXRlYW0gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGE2Mjk7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAucGFnZS1zZWN0aW9uLmZyb20tdGhlLXRlYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbi5mcm9tLXRoZS10ZWFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1wb2RjYXN0cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1wb2RjYXN0cyBhLCAuc2luZ2xlLXBvc3QgI21haW4gYXJ0aWNsZS5jYXRlZ29yeS1wb2RjYXN0cyBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzFhYjM0NzsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3RzLW92ZXJ2aWV3IC5wYWdlLXNlY3Rpb24uY2F0LXBvZGNhc3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uYXJjaGl2ZS5jYXRlZ29yeS1wb2RjYXN0cyAjbWFpbixcbi5hcmNoaXZlLmNhdGVnb3J5LXBvZGNhc3RzIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbi5wb2RjYXN0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAucGFnZS1zZWN0aW9uLnBvZGNhc3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAuYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCBlbSwgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHAgc3Ryb25nLCAuYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCBpIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7IH1cblxuYS5iZy13aGl0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cblxuLnVrLW1vZGFsLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLXdoaXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5iZy1ibGFjayAuZW50cnktY29udGVudCBwIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5iZy1ibGFjayAuZW50cnktY29udGVudCBwIGVtLCAuYmctYmxhY2sgLmVudHJ5LWNvbnRlbnQgcCBzdHJvbmcsIC5iZy1ibGFjayAuZW50cnktY29udGVudCBwIGkge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAuc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLWJsYWNrIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLmJnLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNHMgZWFzZTsgfVxuXG5hLmJnLWJsYWNrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLnVrLW1vZGFsLmJnLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLWJsYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5iZy1waW5rIC5lbnRyeS1jb250ZW50IHAge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmJnLXBpbmsgLmVudHJ5LWNvbnRlbnQgcCBlbSwgLmJnLXBpbmsgLmVudHJ5LWNvbnRlbnQgcCBzdHJvbmcsIC5iZy1waW5rIC5lbnRyeS1jb250ZW50IHAgaSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItcGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci1waW5rIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLmJnLXBpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbmEuYmctcGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNDZiOWI7IH1cblxuLnVrLW1vZGFsLmJnLXBpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5wYWdlLXNlY3Rpb24uYmctcGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmctYmx1ZSAuZW50cnktY29udGVudCBwIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5iZy1ibHVlIC5lbnRyeS1jb250ZW50IHAgZW0sIC5iZy1ibHVlIC5lbnRyeS1jb250ZW50IHAgc3Ryb25nLCAuYmctYmx1ZSAuZW50cnktY29udGVudCBwIGkge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItYmx1ZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi5iZy1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNHMgZWFzZTsgfVxuXG5hLmJnLWJsdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ1M2NkOyB9XG5cbi51ay1tb2RhbC5iZy1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLWJsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJnLWdyZWVuIC5lbnRyeS1jb250ZW50IHAge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmJnLWdyZWVuIC5lbnRyeS1jb250ZW50IHAgZW0sIC5iZy1ncmVlbiAuZW50cnktY29udGVudCBwIHN0cm9uZywgLmJnLWdyZWVuIC5lbnRyeS1jb250ZW50IHAgaSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3OyB9XG4gIC5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItZ3JlZW4gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuXG4uYmctZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiMzQ3O1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbmEuYmctZ3JlZW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc5ZDNlOyB9XG5cbi51ay1tb2RhbC5iZy1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYWIzNDc7IH1cblxuLnBhZ2Utc2VjdGlvbi5iZy1ncmVlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmctb3JhbmdlIC5lbnRyeS1jb250ZW50IHAge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmJnLW9yYW5nZSAuZW50cnktY29udGVudCBwIGVtLCAuYmctb3JhbmdlIC5lbnRyeS1jb250ZW50IHAgc3Ryb25nLCAuYmctb3JhbmdlIC5lbnRyeS1jb250ZW50IHAgaSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3Itb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuICAuc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLW9yYW5nZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5OyB9XG5cbi5iZy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5O1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbmEuYmctb3JhbmdlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkOWIxMDsgfVxuXG4udWstbW9kYWwuYmctb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYTYyOTsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLW9yYW5nZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmctdmlvbGV0IC5lbnRyeS1jb250ZW50IHAge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmJnLXZpb2xldCAuZW50cnktY29udGVudCBwIGVtLCAuYmctdmlvbGV0IC5lbnRyeS1jb250ZW50IHAgc3Ryb25nLCAuYmctdmlvbGV0IC5lbnRyeS1jb250ZW50IHAgaSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItdmlvbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuICAuc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLXZpb2xldCAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG5cbi5iZy12aW9sZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1O1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbmEuYmctdmlvbGV0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4NmJlMTsgfVxuXG4udWstbW9kYWwuYmctdmlvbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLXZpb2xldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmctcmVkIC5lbnRyeS1jb250ZW50IHAge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmJnLXJlZCAuZW50cnktY29udGVudCBwIGVtLCAuYmctcmVkIC5lbnRyeS1jb250ZW50IHAgc3Ryb25nLCAuYmctcmVkIC5lbnRyeS1jb250ZW50IHAgaSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3ItcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuICAuc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLXJlZCAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG5cbi5iZy1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG5cbmEuYmctcmVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjMjIyNDsgfVxuXG4udWstbW9kYWwuYmctcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuXG4ucGFnZS1zZWN0aW9uLmJnLXJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLWJsYWNrIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG5cbi5mb290ZXItYm90dG9tLmJnLXZpb2xldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFnZS10ZW1wbGF0ZSAjbWNfZW1iZWRfc2lnbnVwIC5yb3ctaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5wYWdlLXRlbXBsYXRlICNtY19lbWJlZF9zaWdudXAgLnJvdy1ob2xkZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZSAjbWNfZW1iZWRfc2lnbnVwIC5yb3ctaG9sZGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uc3Bpbm5lciB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDsgfVxuICAuc3Bpbm5lciAucGF0aCB7XG4gICAgc3Ryb2tlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjYpO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICBhbmltYXRpb246IGRhc2ggMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRhc2gge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMTUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogOTAsIDE1MDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTM1OyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDkwLCAxNTA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xMjQ7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIGhlYWRlci5oZWFkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLndyYXAge1xuICBtYXgtd2lkdGg6IDEzNjBweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIC5wYWdlLXNlY3Rpb24ucGFnZS1zZWN0aW9uLWludHJvIC5sb2dvIHtcbiAgcGFkZGluZzogMCAwIDAgMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIC5wYWdlLXNlY3Rpb24taW50cm8uYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgdWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAucGFnZS1zZWN0aW9uLWludHJvLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIC5wYWdlLXNlY3Rpb24taW50cm8uYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDExcHg7XG4gICAgICBsZWZ0OiAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLmhlcm8tcGFuZWwgLmxvZ28sXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby1wYW5lbCAubG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAucGFnZS1zZWN0aW9uLWludHJvLmJnLXdoaXRlIC51ay1ncmlkLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnBhZ2Utc2VjdGlvbi1pbnRyby5iZy13aGl0ZSAudWstZ3JpZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIC5wYWdlLXNlY3Rpb24taW50cm8uYmctd2hpdGUgLnVrLWdyaWQsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnBhZ2Utc2VjdGlvbi1pbnRyby5iZy13aGl0ZSAudWstZ3JpZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAucGFnZS1zZWN0aW9uLWludHJvLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnBhZ2Utc2VjdGlvbi1pbnRyby5iZy13aGl0ZSAuZW50cnktY29udGVudCBoMiB7XG4gIGNvbG9yOiAjZmMzYjNkOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLnBhZ2Utc2VjdGlvbi5iZy12aW9sZXQgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAucGFnZS1zZWN0aW9uLmJnLXZpb2xldCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAucGFnZS1zZWN0aW9uLmJnLXZpb2xldCBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAucGFnZS1zZWN0aW9uLmJnLXZpb2xldCBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAucGFnZS1zZWN0aW9uIC5wYWdlLXNlY3Rpb24taGVhZGVyIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnBhZ2Utc2VjdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSB7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAudmlkZW8taG9sZGVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnZpZGVvLWhvbGRlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAudmlkZW8taG9sZGVyIHA6bGFzdC1jaGlsZCxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLnZpZGVvLWhvbGRlciBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAudmlkZW8taG9sZGVyIHA6bGFzdC1jaGlsZCxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC52aWRlby1ob2xkZXIgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUtMjAyMiAudmlkZW8taG9sZGVyIHA6bGFzdC1jaGlsZCxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC52aWRlby1ob2xkZXIgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLmlmcmFtZS1ob2xkZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaWZyYW1lLWhvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luOiA2MHB4IDAgMCAwOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLmlmcmFtZS1ob2xkZXIgaWZyYW1lLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaWZyYW1lLWhvbGRlciBpZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLmFjY291bnQtaW5mbyxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5hY2NvdW50LWluZm8ge1xuICBwYWRkaW5nOiAwIDAgOTBweCAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlLTIwMjIgLmRvbmF0ZV9kaXNjbGFpbWVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmRvbmF0ZV9kaXNjbGFpbWVyIHtcbiAgZm9udC1zaXplOiAxLjhlbTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZS0yMDIyIC5kb25hdGVfZGlzY2xhaW1lciBhLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmRvbmF0ZV9kaXNjbGFpbWVyIGEge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oZXJvLXBhbmVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby1wYW5lbCB7XG4gICAgICBoZWlnaHQ6IDQ4MHB4OyB9IH1cbiAgLmhlcm8tcGFuZWwgLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cbiAgICAuaGVyby1wYW5lbCAuaGVyby1pdGVtIC5pbWctaG9sZGVyIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuaGVyby1wYW5lbCAuaGVyby1pdGVtIC53cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAuaGVyby1wYW5lbCAuaGVyby1pdGVtIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LWZhbWlseTogcGxheWZhaXItZGlzcGxheSwgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgcGFkZGluZzogNjBweCAwIDAgMzBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0gaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgMCA0NXB4OyB9IH1cbiAgLmhlcm8tcGFuZWwgLnVrLXNsaWRlc2hvdy1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgcmlnaHQ6IDMwcHg7IH1cbiAgLmhlcm8tcGFuZWwgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMzZweDsgfVxuICAgIC5oZXJvLXBhbmVsIC5sb2dvIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogOTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgLmhlcm8tcGFuZWwgLmxvZ28ge1xuICAgICAgICBsZWZ0OiA0NXB4OyB9XG4gICAgICAgIC5oZXJvLXBhbmVsIC5sb2dvIGltZyB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVyby1wYW5lbCAubG9nbyB7XG4gICAgICAgIHRvcDogNzVweDsgfVxuICAgICAgICAuaGVyby1wYW5lbCAubG9nbyBpbWcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogMTUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZXJvLXBhbmVsIC5sb2dvIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDkwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC05NXB4OyB9XG4gICAgICAgIC5oZXJvLXBhbmVsIC5sb2dvIGltZyB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiAxOTBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbk5BVklHQVRJT04gU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4vKlxuYWxsIG5hdnMgaGF2ZSBhIC5uYXYgY2xhc3MgYXBwbGllZCB2aWFcbnRoZSB3cF9tZW51IGZ1bmN0aW9uOyB0aGlzIGlzIHNvIHdlIGNhblxuZWFzaWx5IHdyaXRlIG9uZSBncm91cCBvZiBzdHlsZXMgZm9yXG50aGUgbmF2cyBvbiB0aGUgc2l0ZSBzbyBvdXIgY3NzIGlzIGNsZWFuZXJcbmFuZCBtb3JlIHNjYWxhYmxlLlxuKi9cbi5oYW1idXJnZXItYm94IHtcbiAgbWFyZ2luLXRvcDogMXB4OyB9XG5cbi5tYWluLW5hdi10b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAubWFpbi1uYXYtdG9wIC5oYW1idXJnZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1haW4tbmF2LXRvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tYWluLW5hdi10b3AgbmF2LnNvY2lhbC1tZWRpYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLW5hdi10b3AgbmF2LnNvY2lhbC1tZWRpYSB7XG4gICAgICAgIHJpZ2h0OiA5cHg7IH0gfVxuICAgIC5tYWluLW5hdi10b3AgbmF2LnNvY2lhbC1tZWRpYSAubmF2LXNvY2lhbCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxubmF2LnNvY2lhbC1tZWRpYSAubmF2LXNvY2lhbCBsaSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbm5hdi5zb2NpYWwtbWVkaWEgLm5hdi1zb2NpYWwgbGkuc29jaWFsLXlvdXR1YmUgYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMnB4IC0xMDNweDsgfVxuXG5uYXYuc29jaWFsLW1lZGlhIC5uYXYtc29jaWFsIGxpLnNvY2lhbC10d2l0dGVyIGEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzZweCAtMTAzcHg7IH1cblxubmF2LnNvY2lhbC1tZWRpYSAubmF2LXNvY2lhbCBsaS5zb2NpYWwtaW5zdGFncmFtIGEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA5cHggLTEwM3B4OyB9XG5cbm5hdi5zb2NpYWwtbWVkaWEgLm5hdi1zb2NpYWwgbGkuc29jaWFsLWZhY2Vib29rIGEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtMTAzcHg7IH1cblxubmF2LnNvY2lhbC1tZWRpYSAubmF2LXNvY2lhbCBsaS5zb2NpYWwtbGlua2VkaW4gYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDJweCAtMTAzcHg7IH1cblxuLm1haW4tbmF2LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cbiAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbWFyZ2luOiAwIDEycHg7IH1cblxuaGVhZGVyLmhlYWRlciAud3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jaG9tZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNDgwZTU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2hvbWUtbGluayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9IH1cblxuYm9keS5ob21lICNob21lLWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg4MWFhOyB9XG5cbi5tYWluLW5hdi10b3AgLm5hdixcbi5tYWluLW5hdi1ib3R0b20gLm5hdiB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC8qIGVuZCAubWVudSBsaSAqLyB9XG4gIC5tYWluLW5hdi10b3AgLm5hdiBsaSxcbiAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLypcbiAgICAgICAgc28geW91IHJlYWxseSBoYXZlIHRvIHJldGhpbmsgeW91ciBkcm9wZG93bnMgZm9yIG1vYmlsZS5cbiAgICAgICAgeW91IGRvbid0IHdhbnQgdG8gaGF2ZSBpdCBleHBhbmQgdG9vIG11Y2ggYmVjYXVzZSB0aGVcbiAgICAgICAgc2NyZWVuIGlzIHNvIHNtYWxsLiBIb3cgeW91IG1hbmFnZSB5b3VyIG1lbnUgc2hvdWxkXG4gICAgICAgIGRlcGVuZCBvbiB0aGUgcHJvamVjdC4gSGVyZSdzIHNvbWUgZ3JlYXQgaW5mbyBvbiBpdDpcbiAgICAgICAgaHR0cDovL3d3dy5hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlcy9vcmdhbml6aW5nLW1vYmlsZS9cbiAgICAgICAgKi8gfVxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSBhLFxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSBhOnZpc2l0ZWQsXG4gICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIGEsXG4gICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIGE6dmlzaXRlZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NWVtO1xuICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMTRzIGVhc2U7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaTpob3ZlciBhLFxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaTpmb2N1cyBhLFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaTpob3ZlciBhLFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaTpmb2N1cyBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkuaGlnaGxpZ2h0IGEsXG4gICAgLm1haW4tbmF2LXRvcCAubmF2IGxpLmhpZ2hsaWdodCBhOnZpc2l0ZWQsXG4gICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpLmhpZ2hsaWdodCBhLFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaS5oaWdobGlnaHQgYTp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTsgfVxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5zdWItbWVudSBsaSBhLFxuICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSBhLFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSBsaSBhLFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1haW4tbmF2LXRvcCAubmF2LFxuICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgLyogZW5kIC5tZW51IHVsIGxpICovIH1cbiAgICAgIC5tYWluLW5hdi10b3AgLm5hdiB1bCxcbiAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiB1bCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSxcbiAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLypcbiAgICAgICAgICBwbGFuIHlvdXIgbWVudXMgYW5kIGRyb3AtZG93bnMgd2lzZWx5LlxuICAgICAgICAgICovXG4gICAgICAgIC8qIHNob3dpbmcgc3ViLW1lbnVzICovIH1cbiAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIGEsXG4gICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgeW91IGNhbiB1c2UgaG92ZXIgc3R5bGVzIGhlcmUgZXZlbiB0aG91Z2ggdGhpcyBzaXplXG4gICAgICAgICAgICAgICAgaGFzIHRoZSBwb3NzaWJpbGl0eSBvZiBiZWluZyBhIG1vYmlsZSBkZXZpY2UuXG4gICAgICAgICAgICAgICAgKi8gfVxuICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSBhOmhvdmVyLCAubWFpbi1uYXYtdG9wIC5uYXYgbGkgYTpmb2N1cyxcbiAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgYTpob3ZlcixcbiAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51LFxuICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuY2hpbGRyZW4sXG4gICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSxcbiAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB6LWluZGV4OiA4OTk5O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG4gICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpLFxuICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSxcbiAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGksXG4gICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICBpZiB5b3UgbmVlZCB0byBnbyBkZWVwZXIsIGdvIG51dHNcbiAgICAgICAgICAgICAganVzdCByZW1lbWJlciBkZWVwZXIgbWVudXMgc3Vja1xuICAgICAgICAgICAgICBmb3IgdXNhYmlsaXR5LiBrLCBiYWkuXG4gICAgICAgICAgICAgICovIH1cbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5zdWItbWVudSBsaSBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpIGE6YWN0aXZlLFxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLmNoaWxkcmVuIGxpIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuY2hpbGRyZW4gbGkgYTphY3RpdmUsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGkgYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSBsaSBhOmFjdGl2ZSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIGxpIGE6YWN0aXZlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ODFhYTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0gYTphY3RpdmUsIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5zdWItbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGE6YWN0aXZlLFxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLmNoaWxkcmVuIGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuY2hpbGRyZW4gbGkuY3VycmVudC1tZW51LWl0ZW0gYTphY3RpdmUsXG4gICAgICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuY2hpbGRyZW4gbGkuY3VycmVudF9wYWdlX2l0ZW0gYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhOmFjdGl2ZSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLnN1Yi1tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtIGE6YWN0aXZlLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLnN1Yi1tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGkuY3VycmVudF9wYWdlX2l0ZW0gYTphY3RpdmUsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuY2hpbGRyZW4gbGkuY3VycmVudC1tZW51LWl0ZW0gYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiBsaS5jdXJyZW50LW1lbnUtaXRlbSBhOmFjdGl2ZSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIGxpLmN1cnJlbnRfcGFnZV9pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpOmhvdmVyIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGk6Zm9jdXMgYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaTpob3ZlciBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLmNoaWxkcmVuIGxpOmZvY3VzIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGk6aG92ZXIgYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSBsaTpmb2N1cyBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIGxpOmhvdmVyIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuY2hpbGRyZW4gbGk6Zm9jdXMgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgICAgLm1haW4tbmF2LXRvcCAubmF2IGxpIHVsLnN1Yi1tZW51IGxpOmxhc3QtY2hpbGQgYSxcbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaTpsYXN0LWNoaWxkIGEsXG4gICAgICAgICAgICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUgbGk6bGFzdC1jaGlsZCBhLFxuICAgICAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpIHVsLmNoaWxkcmVuIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5zdWItbWVudSBsaSB1bCxcbiAgICAgICAgICAgIC5tYWluLW5hdi10b3AgLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSB1bCxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5zdWItbWVudSBsaSB1bCxcbiAgICAgICAgICAgIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiBsaSB1bCB7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMTAwJTsgfVxuICAgICAgICAubWFpbi1uYXYtdG9wIC5uYXYgbGk6aG92ZXIgPiB1bCxcbiAgICAgICAgLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpOmhvdmVyID4gdWwge1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuLyogZW5kIC5uYXYgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkgdWwuc3ViLW1lbnUsXG4gIC5tYWluLW5hdi1ib3R0b20gLm5hdiBsaSB1bC5jaGlsZHJlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7IH0gfVxuXG5ib2R5LnNpbmdsZS1wb3N0IC5tYWluLW5hdi10b3AgLm5hdiBsaSNtZW51LWl0ZW0tMTM5NDUgYSxcbi5tYWluLW5hdi10b3AgLm5hdiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgYSxcbi5tYWluLW5hdi10b3AgLm5hdiBsaS5jdXJyZW50LW1lbnUtcGFyZW50IGEsXG4ubWFpbi1uYXYtdG9wIC5uYXYgbGkuY3VycmVudC1tZW51LWl0ZW0gYSxcbi5tYWluLW5hdi10b3AgLm5hdiBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuLm1haW4tbmF2LXRvcCAubmF2IGxpLmN1cnJlbnRfcGFnZV9hbmNlc3RvciBhLFxuYm9keS5zaW5nbGUtcG9zdCAubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkjbWVudS1pdGVtLTEzOTQ1IGEsXG4ubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkuY3VycmVudC1tZW51LWFuY2VzdG9yIGEsXG4ubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkuY3VycmVudC1tZW51LXBhcmVudCBhLFxuLm1haW4tbmF2LWJvdHRvbSAubmF2IGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4ubWFpbi1uYXYtYm90dG9tIC5uYXYgbGkuY3VycmVudF9wYWdlX2l0ZW0gYSxcbi5tYWluLW5hdi1ib3R0b20gLm5hdiBsaS5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cblxuLm5hdiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkOyB9XG5cbiNtb2JpbGUtbWVudS1tb2RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI21vYmlsZS1tZW51LW1vZGFsIC5tZW51LWhvbGRlciB7XG4gICAgICB3aWR0aDogODAlOyB9IH1cbiAgI21vYmlsZS1tZW51LW1vZGFsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI21vYmlsZS1tZW51LW1vZGFsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyAubG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICNtb2JpbGUtbWVudS1tb2RhbCAudWstbW9kYWwtZGlhbG9nIC5tZW51LWhvbGRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNtb2JpbGUtbWVudS1tb2RhbCAudWstbW9kYWwtZGlhbG9nIC5tZW51LWhvbGRlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH0gfVxuICAgICNtb2JpbGUtbWVudS1tb2RhbCAudWstbW9kYWwtZGlhbG9nIC5zdWItbWVudSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsgfVxuICAgICNtb2JpbGUtbWVudS1tb2RhbCAudWstbW9kYWwtZGlhbG9nIC5zdWItbWVudS1vcGVuIC5zdWItbWVudSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMzBweCAwOyB9XG4gICAgI21vYmlsZS1tZW51LW1vZGFsIC51ay1tb2RhbC1kaWFsb2cgLm5hdiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyAubmF2IGxpIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDIuNGVtO1xuICAgICAgICBtYXJnaW46IDYwcHggMCAzMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyAubmF2IGxpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjZlbTsgfSB9XG4gICAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyAubmF2IGxpIGxpIGEge1xuICAgICAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgI21vYmlsZS1tZW51LW1vZGFsIC51ay1tb2RhbC1kaWFsb2cgLm5hdiBsaSBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtOyB9IH1cbiAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyBuYXYuc29jaWFsLW1lZGlhIC5uYXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XG4gICAgICAjbW9iaWxlLW1lbnUtbW9kYWwgLnVrLW1vZGFsLWRpYWxvZyBuYXYuc29jaWFsLW1lZGlhIC5uYXYgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNtb2JpbGUtbWVudS1tb2RhbCAudWstbW9kYWwtZGlhbG9nIG5hdi5zb2NpYWwtbWVkaWEgLm5hdiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5MQU5HVUFHRSBTV0lUQ0hFUlxuKioqKioqKioqKioqKioqKioqKioqL1xuI2lubmVyLWhlYWRlciBuYXYubGFuZ3VhZ2VzIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICNpbm5lci1oZWFkZXIgbmF2Lmxhbmd1YWdlcyB1bCBsaSBzcGFuLFxuICAjaW5uZXItaGVhZGVyIG5hdi5sYW5ndWFnZXMgdWwgbGkgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGNvbG9yOiAjMzkzOTM5O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwcHggOHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzOTM5Mzk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG4gICNpbm5lci1oZWFkZXIgbmF2Lmxhbmd1YWdlcyB1bCBsaS5hY3RpdmUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMWQ0ZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmMDFkNGY7IH1cbiAgI2lubmVyLWhlYWRlciBuYXYubGFuZ3VhZ2VzIHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZjAxZDRmO1xuICAgIGJvcmRlci1jb2xvcjogI2YwMWQ0ZjsgfVxuICAjaW5uZXItaGVhZGVyIG5hdi5sYW5ndWFnZXMgdWwgbGk6bGFzdC1jaGlsZCBzcGFuLFxuICAjaW5uZXItaGVhZGVyIG5hdi5sYW5ndWFnZXMgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHAge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8taXRlbSBoMSxcbi5lcnJvcjQwNCAuaGVyby1pdGVtIGgxLFxuLmFyY2hpdmUgLmhlcm8taXRlbSBoMSxcbi5zaW5nbGUtcHJvamVjdHMgLmhlcm8taXRlbSBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby1pdGVtIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby1pdGVtIGgxIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCxcbi5lcnJvcjQwNCAuaGVyby1wYW5lbCxcbi5hcmNoaXZlIC5oZXJvLXBhbmVsLFxuLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCxcbi5zaW5nbGUtcG9zdCAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNDgwZTU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAuZXJyb3I0MDQgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAuYXJjaGl2ZSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8tcGFuZWwgLmxvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuZXJyb3I0MDQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLmFyY2hpdmUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIsXG4uZXJyb3I0MDQgLmhlcm8td3JhcHBlcixcbi5hcmNoaXZlIC5oZXJvLXdyYXBwZXIsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIsXG4uc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5hcmNoaXZlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM2cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDM2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8td3JhcHBlciAudGl0bGVzIHtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5hcmNoaXZlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyB7XG4gICAgICAgIHBhZGRpbmc6IDAgOTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICB3aWR0aDogNjIuNiU7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2MHB4O1xuICAgIHJpZ2h0OiA2MHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxIHtcbiAgZm9udC1zaXplOiAzZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSB7XG4gICAgICBmb250LXNpemU6IDZlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5hcmNoaXZlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogOWVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDIuNGVtO1xuICBtYXJnaW46IDE1cHggMCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMiB7XG4gICAgICBmb250LXNpemU6IDQuMmVtO1xuICAgICAgbWFyZ2luOiAyMXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiA0LjhlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0sXG4gIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICBmb250LXNpemU6IDMuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1zaXplOiA2ZW07IH0gfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDEuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiAzLjZlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLnBhZ2Utc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG5cbi5jYXRlZ29yeS1kZXNjcmlwdGlvbiBwIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby1pdGVtIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1pdGVtIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLWl0ZW0gaDEsXG4uZXJyb3I0MDQgLmhlcm8taXRlbSBoMSxcbi5hcmNoaXZlIC5oZXJvLWl0ZW0gaDEsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLWl0ZW0gaDEsXG4uc2luZ2xlLXBvc3QgLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8taXRlbSBoMSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwsXG4uZXJyb3I0MDQgLmhlcm8tcGFuZWwsXG4uYXJjaGl2ZSAuaGVyby1wYW5lbCxcbi5zaW5nbGUtcHJvamVjdHMgLmhlcm8tcGFuZWwsXG4uc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5lcnJvcjQwNCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5hcmNoaXZlIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5zaW5nbGUtcG9zdCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8tcGFuZWwgLmxvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuZXJyb3I0MDQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLmFyY2hpdmUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0sXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlcixcbi5lcnJvcjQwNCAuaGVyby13cmFwcGVyLFxuLmFyY2hpdmUgLmhlcm8td3JhcHBlcixcbi5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlcixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAuc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM2cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDM2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICBwYWRkaW5nOiAwIDkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICB3aWR0aDogNjIuNiU7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLmxvZ28td2hpdGUsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgcmlnaHQ6IDYwcHg7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSB7XG4gIGZvbnQtc2l6ZTogM2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1zaXplOiA2ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSB7XG4gICAgICBmb250LXNpemU6IDllbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDIuNGVtO1xuICBtYXJnaW46IDE1cHggMCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMiB7XG4gICAgICBmb250LXNpemU6IDQuMmVtO1xuICAgICAgbWFyZ2luOiAyMXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiA0LjhlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0sXG4gIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICBmb250LXNpemU6IDMuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1zaXplOiA2ZW07IH0gfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDEuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiAzLjZlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG5cbi5jYXRlZ29yeS1kZXNjcmlwdGlvbiBwIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby1pdGVtIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1pdGVtIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLWl0ZW0gaDEsXG4uZXJyb3I0MDQgLmhlcm8taXRlbSBoMSxcbi5hcmNoaXZlIC5oZXJvLWl0ZW0gaDEsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLWl0ZW0gaDEsXG4uc2luZ2xlLXBvc3QgLmhlcm8taXRlbSBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLWl0ZW0gaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8taXRlbSBoMSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwsXG4uZXJyb3I0MDQgLmhlcm8tcGFuZWwsXG4uYXJjaGl2ZSAuaGVyby1wYW5lbCxcbi5zaW5nbGUtcHJvamVjdHMgLmhlcm8tcGFuZWwsXG4uc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby1wYW5lbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5lcnJvcjQwNCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5hcmNoaXZlIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5zaW5nbGUtcG9zdCAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG9uYXRlIC5oZXJvLXBhbmVsIC5sb2dvIGltZyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCAubG9nbyBpbWcsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8tcGFuZWwgLmxvZ28gaW1nLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWNvbnRhY3QgLmhlcm8tcGFuZWwgLmxvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuZXJyb3I0MDQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLmFyY2hpdmUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby1wYW5lbCAuaGVyby1pdGVtLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0sXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby1wYW5lbCAuaGVyby1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlcixcbi5lcnJvcjQwNCAuaGVyby13cmFwcGVyLFxuLmFyY2hpdmUgLmhlcm8td3JhcHBlcixcbi5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlcixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlcixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAuc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM2cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDM2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICBwYWRkaW5nOiAwIDkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMsXG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMge1xuICAgICAgICB3aWR0aDogNjIuNiU7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuZXJyb3I0MDQgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAuc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAubG9nby13aGl0ZSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLmxvZ28td2hpdGUsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC5sb2dvLXdoaXRlIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgcmlnaHQ6IDYwcHg7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1hZ2F6aW5lIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSB7XG4gIGZvbnQtc2l6ZTogM2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1zaXplOiA2ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSB7XG4gICAgICBmb250LXNpemU6IDllbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uZXJyb3I0MDQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4uc2luZ2xlLXBvc3QgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBvZGNhc3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDIuNGVtO1xuICBtYXJnaW46IDE1cHggMCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmVycm9yNDA0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAuYXJjaGl2ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnNpbmdsZS1wb3N0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvbmF0ZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tYWdhemluZSAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wb2RjYXN0cyAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMiB7XG4gICAgICBmb250LXNpemU6IDQuMmVtO1xuICAgICAgbWFyZ2luOiAyMXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5lcnJvcjQwNCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLmFyY2hpdmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb25hdGUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWFnYXppbmUgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY29udGFjdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiA0LjhlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmhlcm8tcGFuZWwsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5oZXJvLXBhbmVsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5oZXJvLXBhbmVsIC5oZXJvLWl0ZW0sXG4gIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmhlcm8tcGFuZWwgLmhlcm8taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMSxcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICBmb250LXNpemU6IDMuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgxLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDEge1xuICAgICAgZm9udC1zaXplOiA2ZW07IH0gfVxuXG4uc2luZ2xlLXByb2plY3RzIC5oZXJvLXdyYXBwZXIgLnRpdGxlcyBoMixcbi5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICBmb250LXNpemU6IDEuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLmhlcm8td3JhcHBlciAudGl0bGVzIGgyLFxuICAgIC5zaW5nbGUtcG9zdCAuaGVyby13cmFwcGVyIC50aXRsZXMgaDIge1xuICAgICAgZm9udC1zaXplOiAzLjZlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcG9kY2FzdHMgLnBhZ2Utc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG5cbi5zaW5nbGUtcG9zdCAjbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5zaW5nbGUtcG9zdCAucG9zdHMtb3ZlcnZpZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG4gIC5zaW5nbGUtcG9zdCAucG9zdHMtb3ZlcnZpZXcgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogcGxheWZhaXItZGlzcGxheSwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgcGFkZGluZzogMCA0NXB4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyBoMSBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5wb3N0cy1vdmVydmlldyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDkwcHg7IH0gfVxuXG4uc2luZ2xlLXBvc3QgLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMCA5MHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNjBweCAwIDE1MHB4IDA7IH0gfVxuXG4uc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDEge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5lbnRyeS1jb250ZW50IC5hcnRpY2xlLWludHJvIHAge1xuICBmb250LXNpemU6IDEuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5hcnRpY2xlLWludHJvIHAge1xuICAgICAgZm9udC1zaXplOiAyLjRlbTsgfSB9XG5cbi5zaW5nbGUtcG9zdCAuYXJ0aWNsZS1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cblxuLmludHJvLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgLnNsaWRlc2hvdy1ob2xkZXIsXG4uc2luZ2xlLXByb2plY3RzIC5mdWxsX2FydGljbGUge1xuICBtYXJnaW46IDYwcHggMCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zaW5nbGUtcHJvamVjdHMgLnNsaWRlc2hvdy1ob2xkZXIsXG4gICAgLnNpbmdsZS1wcm9qZWN0cyAuZnVsbF9hcnRpY2xlIHtcbiAgICAgIG1hcmdpbjogMTIwcHggMCAwIDA7IH0gfVxuXG4uc2luZ2xlLXByb2plY3RzIC5hcnRpY2xlLWludHJvIC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZzogNDVweCAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2luZ2xlLXByb2plY3RzIC5hcnRpY2xlLWludHJvIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMTVweCAwIDYwcHg7IH0gfVxuXG4uc2luZ2xlLXByb2plY3RzIC5lbnRyeS1jb250ZW50IHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5zaW5nbGUtcHJvamVjdHMgLmVudHJ5LWNvbnRlbnQgaDEge1xuICAgIHBhZGRpbmc6IDAgMjUlIDAgMDsgfVxuXG4uc2luZ2xlLXByb2plY3RzIC5zbGlkZXNob3ctaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnNpbmdsZS1wcm9qZWN0cyAubWFpbi1jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDkwcHg7IH1cblxuLnNpbmdsZS1wcm9qZWN0cyAucGFydG5lcnMge1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG5cbi5zaW5nbGUtcHJvamVjdHMgLnBhcnRuZXIgLnBpY3R1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA4MCUgYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLm1lbWJlci1zd2l0Y2hlci1uYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5tZW1iZXItc3dpdGNoZXItbmF2IGE6aG92ZXIsIC5tZW1iZXItc3dpdGNoZXItbmF2IGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAubWVtYmVyLXN3aXRjaGVyLWNvbnRlbnQgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBwbGF5ZmFpci1kaXNwbGF5LCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDMuNmVtO1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLm1lbWJlci1zd2l0Y2hlci1jb250ZW50IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNC44ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLm1lbWJlci1zd2l0Y2hlci1jb250ZW50IGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAubWVtYmVyLXN3aXRjaGVyLWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLm1lbWJlcnMtb3ZlcnZpZXcge1xuICBtYXJnaW46IDQ1cHggMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMzBweCAwIDYwcHggMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlciB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlciAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDUzY2Q7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5ib2FyZC1tZW1iZXIgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogcGxheWZhaXItZGlzcGxheSwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAzLjZlbTtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDE4cHggMDtcbiAgICBmb250LXNpemU6IDIuN2VtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC44ZW07IH0gfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlciAuY291bnRyeSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5ib2FyZC1tZW1iZXIgLmZ1bmN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIHBhZGRpbmctdG9wOiA0NnB4OyB9XG5cbi50ZXN0aW1vbmlhbC1wb3B1cCAudWstbW9kYWwtZGlhbG9nLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAudWstbW9kYWwtZGlhbG9nLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC51ay1tb2RhbC1kaWFsb2cge1xuICB3aWR0aDogODEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnRlc3RpbW9uaWFsLXBvcHVwIGgyLmZ1bmN0aW9uIHtcbiAgZm9udC1zaXplOiAyLjRlbTsgfVxuICAudGVzdGltb25pYWwtcG9wdXAgaDIuZnVuY3Rpb24gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAudGVzdGltb25pYWwtcG9wdXAgaDIuZnVuY3Rpb24gaSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbiN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmZlYXR1cmVkLWltYWdlLFxuLnRlc3RpbW9uaWFsLXBvcHVwIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5mZWF0dXJlZC1pbWFnZSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmZlYXR1cmVkLWltYWdlLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNjYuNjYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ1M2NkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cblxuI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSxcbi50ZXN0aW1vbmlhbC1wb3B1cCAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmJvYXJkLW1lbWJlci1kZXRhaWwgaDEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBwbGF5ZmFpci1kaXNwbGF5LCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDMuNmVtO1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdGVzdGltb25pYWxzIC5ib2FyZC1tZW1iZXItZGV0YWlsIGgxLFxuICAgIC50ZXN0aW1vbmlhbC1wb3B1cCAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5ib2FyZC1tZW1iZXItZGV0YWlsIGgxLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSB7XG4gICAgICBmb250LXNpemU6IDQuOGVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSxcbiAgICAudGVzdGltb25pYWwtcG9wdXAgLmJvYXJkLW1lbWJlci1kZXRhaWwgaDEsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuYm9hcmQtbWVtYmVyLWRldGFpbCBoMSxcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfSB9XG5cbiN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwucGFydG5lcnNoaXAtZGV0YWlsIC5pbnRybyBwLFxuLnRlc3RpbW9uaWFsLXBvcHVwIC5ib2FyZC1tZW1iZXItZGV0YWlsLnBhcnRuZXJzaGlwLWRldGFpbCAuaW50cm8gcCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmJvYXJkLW1lbWJlci1kZXRhaWwucGFydG5lcnNoaXAtZGV0YWlsIC5pbnRybyBwLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5ib2FyZC1tZW1iZXItZGV0YWlsLnBhcnRuZXJzaGlwLWRldGFpbCAuaW50cm8gcCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbC5wYXJ0bmVyc2hpcC1kZXRhaWwgLmludHJvIHA6bGFzdC1jaGlsZCxcbiAgLnRlc3RpbW9uaWFsLXBvcHVwIC5ib2FyZC1tZW1iZXItZGV0YWlsLnBhcnRuZXJzaGlwLWRldGFpbCAuaW50cm8gcDpsYXN0LWNoaWxkLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5ib2FyZC1tZW1iZXItZGV0YWlsLnBhcnRuZXJzaGlwLWRldGFpbCAuaW50cm8gcDpsYXN0LWNoaWxkLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwucGFydG5lcnNoaXAtZGV0YWlsIC5pbnRybyBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8sXG4udGVzdGltb25pYWwtcG9wdXAgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmludHJvLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8sXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgLmludHJvIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDIuNGVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmludHJvLFxuICAgIC50ZXN0aW1vbmlhbC1wb3B1cCAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8sXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8sXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10ZWFtIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5pbnRybyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8gcCBhLFxuICAjdGVzdGltb25pYWxzIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5pbnRybyBwIGE6dmlzaXRlZCxcbiAgLnRlc3RpbW9uaWFsLXBvcHVwIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5pbnRybyBwIGEsXG4gIC50ZXN0aW1vbmlhbC1wb3B1cCAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8gcCBhOnZpc2l0ZWQsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmludHJvIHAgYSxcbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8gcCBhOnZpc2l0ZWQsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVhbSAuYm9hcmQtbWVtYmVyLWRldGFpbCAuaW50cm8gcCBhLFxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgLmludHJvIHAgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuZW1haWwsXG4udGVzdGltb25pYWwtcG9wdXAgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1wYXJ0bmVycyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuZW1haWwsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIHtcbiAgbWFyZ2luLXRvcDogOXB4OyB9XG5cbiN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGEsXG4jdGVzdGltb25pYWxzIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5lbWFpbCBhOnZpc2l0ZWQsXG4udGVzdGltb25pYWwtcG9wdXAgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGEsXG4udGVzdGltb25pYWwtcG9wdXAgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGE6dmlzaXRlZCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGFydG5lcnMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5lbWFpbCBhOnZpc2l0ZWQsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGEsXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRlYW0gLmJvYXJkLW1lbWJlci1kZXRhaWwgLmVtYWlsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAjdGVzdGltb25pYWxzIC5ib2FyZC1tZW1iZXItZGV0YWlsIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgaDEsXG4gICN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmZlYXR1cmVkLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4OyB9XG4gICN0ZXN0aW1vbmlhbHMgLmJvYXJkLW1lbWJlci1kZXRhaWwgLmV4Y2VycHQgcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI3Rlc3RpbW9uaWFscyAuYm9hcmQtbWVtYmVyLWRldGFpbCAuZXhjZXJwdCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC5ib2FyZC1tZW1iZXItZGV0YWlsIC5mZWF0dXJlZC1pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLnNsaWRlci1uYXZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zbGlkZXItbmF2ZXIge1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7IH0gfVxuXG4uc2xpZGVzaG93LWhvbGRlciAudWstc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVzaG93LWhvbGRlciAudWstc2xpZGVyIC5nc2J0Yi1pbWFnZS1ob2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjVkZTU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWRlc2hvdy1ob2xkZXIgLnVrLXNsaWRlciAudWstc2xpZGVyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuc2xpZGVzaG93LWhvbGRlciAudWstc2xpZGVyIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7IH1cbiAgLnNsaWRlc2hvdy1ob2xkZXIgLnVrLXNsaWRlciAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbm1haW4uY29sb3Itd2hpdGUgLnNsaWRlc2hvdy1ob2xkZXIgLnVrLXNsaWRlciAudWstZG90bmF2ID4gKiA+ICoge1xuICBib3JkZXItY29sb3I6ICNmYzNiM2Q7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7IH1cblxubWFpbi5jb2xvci13aGl0ZSAuc2xpZGVzaG93LWhvbGRlciAudWstc2xpZGVyIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7IH1cblxuLmFyY2hpdmUgI21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4uYXJjaGl2ZSAuZ3JpZC1ob2xkZXIge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5hcmNoaXZlIC5ncmlkLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAxNTBweCAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBsaSB7XG4gICAgcGFkZGluZzogMCAzMHB4IDMwcHggMzBweDsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZG93bmxvYWRzIC5kb3dubG9hZHMtaG9sZGVyIGEuZmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBhLmZpbGUge1xuICAgICAgcGFkZGluZzogNjBweCAzMHB4OyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmRvd25sb2Fkcy1ob2xkZXIgYS5maWxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQ4MGU1OyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1kb3dubG9hZHMgLmRvd25sb2Fkcy1ob2xkZXIgYS5maWxlOmhvdmVyIC5idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjM2IzZDsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBhLmZpbGUgLmZpbGVuYW1lIHtcbiAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuNmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBhLmZpbGUgLmZpbGVuYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBhLmZpbGUgLmJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0ODBlNTtcbiAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE0cyBlYXNlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWRvd25sb2FkcyAuZG93bmxvYWRzLWhvbGRlciBhLmZpbGUgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAubWVkaWEtaW1hZ2UtaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1tZWRpYSAubWVkaWEtaW1hZ2UtaG9sZGVyIGEsXG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLm1lZGlhLWltYWdlLWhvbGRlciBzcGFuIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogOTAlO1xuICAgIGxlZnQ6IDUlO1xuICAgIHRvcDogNSU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5tZWRpYS1pbWFnZXMge1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5tZWRpYS1pbWFnZXMge1xuICAgICAgbWFyZ2luLXRvcDogMTUwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW1lZGlhIC5iZy1pbWFnZS1ob2xkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmMzYjNkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0ODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbWVkaWEgLmJnLWltYWdlLWhvbGRlciAuYmctaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG5cbi5wYXJ0bmVycy1ob2xkZXIudWstZ3JpZC1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDEyMHB4OyB9XG5cbi5wYXJ0bmVycy1ob2xkZXIgaDIuY2F0LXRpdGxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbjogNzVweCAwIDQ1cHggMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ucGFydG5lcnMtaG9sZGVyIC5pbmZvLWhvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogODAlIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5wYXJ0bmVycy1ob2xkZXIgLnBhcnRuZXItaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFydG5lcnMtaG9sZGVyIC5jb250ZW50LWhvbGRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmMzYjNkO1xuICBwYWRkaW5nOiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wYXJ0bmVycy1ob2xkZXIgLmNvbnRlbnQtaG9sZGVyIHAgc3Ryb25nLFxuICAucGFydG5lcnMtaG9sZGVyIC5jb250ZW50LWhvbGRlciBoMixcbiAgLnBhcnRuZXJzLWhvbGRlciAuY29udGVudC1ob2xkZXIgaDMge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5wYXJ0bmVycy1ob2xkZXIgLmNvbnRlbnQtaG9sZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLnBhcnRuZXJzLWhvbGRlciAuY29udGVudC1ob2xkZXIgaDMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnBhcnRuZXJzLWhvbGRlciAuY29udGVudC1ob2xkZXIgLnN1Yl90aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC53YXlzLWhvbGRlciBoMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC53YXlzLWhvbGRlciBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBhcnRuZXJzIC53YXlzLWhvbGRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNDgwZTU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5tZW1iZXItc3dpdGNoZXItbmF2IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC50eXBlLWV2ZW50cy1ob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAudHlwZS1ldmVudHMge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAudHlwZS1ldmVudHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5zaW5nbGUtZXZlbnQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTQ0MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLnNpbmdsZS1ldmVudC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDQ1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuc2luZ2xlLWV2ZW50LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgOTBweDsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLnNpbmdsZS1ldmVudC1ob2xkZXIubm8tcGFkZGluZyB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5zaW5nbGUtZXZlbnQtaG9sZGVyIC53cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgMzZweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuc2luZ2xlLWV2ZW50LWhvbGRlciAud3JhcCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuZXZlbnQtZGVzY3JpcHRpb24taG9sZGVyIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwICNldmVudHNfb21zIC50eXBlLWV2ZW50cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjM0NzsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgI2V2ZW50c19zcHJhY2hjYWZlIC50eXBlLWV2ZW50cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNWRlNTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgI2V2ZW50c19vcGVuX2tpdGNoZW4gLnR5cGUtZXZlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhNjI5OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAjZXZlbnRzX29hcyAudHlwZS1ldmVudHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwICNldmVudHNfZ2VuZXJhbCAudHlwZS1ldmVudHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlODgxYWE7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC50eXBlLWV2ZW50cyB7XG4gICAgcGFkZGluZzogNDVweDsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgI3NpbmdsZV9hcnRpY2xlIC5zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuc2luZ2xlLWV2ZW50IC51ay1ncmlkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuc2luZ2xlLWV2ZW50IC51ay1ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAjc2luZ2xlX2FydGljbGUubG9hZGluZyB7XG4gICAgbWluLWhlaWdodDogNTQwcHg7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgI3NpbmdsZV9hcnRpY2xlLmxvYWRpbmcgLnNwaW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5kYXRlLWhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5kYXRlLWhvbGRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLmRhdGUtaG9sZGVyIC55ZWFyLFxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuZGF0ZS1ob2xkZXIgLmRheW5hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuZGF0ZS1ob2xkZXIgLmRhdGUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyLjRlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLmF2YXRhciB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY1ZGU1OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuYXZhdGFyLWhvbGRlciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLmF2YXRhci1ob2xkZXIge1xuICAgICAgICBtYXJnaW46IDAgMzBweDsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAucmVhZC1tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCBwLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMtcGhwIC5zbGlkZXItbmF2ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjJweDsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzLXBocCAuc2xpZGVyLW5hdmVyLnVrLXNsaWRlbmF2LXByZXZpb3VzIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cy1waHAgLnNsaWRlci1uYXZlci51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5ldmVudC1kZXNjcmlwdGlvbi1ob2xkZXIgLmV2ZW50c19idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuXG5ib2R5Lm1lbnUtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG4gIGJvZHkubWVudS1vcGVuICNtb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGJvZHkubWVudS1vcGVuICNtb2JpbGUtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbiNtb2JpbGUtbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyMDAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzNiM2Q7IH1cbiAgI21vYmlsZS1tZW51IC5uYXYtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAyNDBweCAxNXB4OyB9XG4gICNtb2JpbGUtbWVudSAucGFkZGVyIHtcbiAgICB3aWR0aDogNjYlO1xuICAgIGJhY2tncm91bmQ6ICMwZjVkZTU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4jbW9iaWxlLW1lbnUgbmF2Lmxhbmd1YWdlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyNHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtaW5mb2dyYXBoaWMgLnBhZ2Utc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1pbmZvZ3JhcGhpYyAucGFnZS1zZWN0aW9uIC53cmFwIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtaW5mb2dyYXBoaWMgLnBhZ2Utc2VjdGlvbiBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wYWdlLXNlY3Rpb24ge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5MHB4IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwIDkwcHggMDsgfSB9XG4gIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDVweDsgfSB9XG4gICAgLnBhZ2Utc2VjdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciAuc3ViYmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAucGFnZS1zZWN0aW9uIC5wYWdlLXNlY3Rpb24taGVhZGVyIC5zdWJiZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNDVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgLnN1YmJlciB7XG4gICAgICAgICAgcGFkZGluZzogMCA5MHB4OyB9IH1cbiAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgLnN1YmJlciBwIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gICAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgLnN1YmJlciBwIGEsXG4gICAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgLnN1YmJlciBwIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLnBhZ2Utc2VjdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciAuc3ViYmVyIHAgYTpob3ZlcixcbiAgICAgICAgICAucGFnZS1zZWN0aW9uIC5wYWdlLXNlY3Rpb24taGVhZGVyIC5zdWJiZXIgcCBhOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBhZ2Utc2VjdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMi43ZW07IH1cbiAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgaDEgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy42ZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5wYWdlLXNlY3Rpb24gLnBhZ2Utc2VjdGlvbi1oZWFkZXIgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNC41ZW07XG4gICAgICAgICAgcGFkZGluZzogMCA0NXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnBhZ2Utc2VjdGlvbiAucGFnZS1zZWN0aW9uLWhlYWRlciBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiA2ZW07XG4gICAgICAgICAgcGFkZGluZzogMCA5MHB4OyB9IH1cbiAgICAucGFnZS1zZWN0aW9uIC5wYWdlLXNlY3Rpb24taGVhZGVyLnNpbXBsZS12ZXJzaW9uIGgxIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wYWdlLXNlY3Rpb24gaDIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMy42ZW07XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS1zZWN0aW9uIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjhlbTsgfSB9XG4gIC5wYWdlLXNlY3Rpb24gaDMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogcGxheWZhaXItZGlzcGxheSwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAyLjdlbTtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7IH1cbiAgLnBhZ2Utc2VjdGlvbi5iZy13aGl0ZSBoMSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQsXG4uYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQsXG4uc2luZ2xlLXByb2plY3RzICNtYWluLmNvbG9yLXdoaXRlIC5lbnRyeS1jb250ZW50LFxuLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQgcCBhLFxuICAuYmctZ3JleSAuZW50cnktY29udGVudCBwIGE6dmlzaXRlZCxcbiAgLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQgcCBhOmFjdGl2ZSxcbiAgLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQgcCBhOmhvdmVyLFxuICAuYmctZ3JleSAuZW50cnktY29udGVudCBwLFxuICAuYmctZ3JleSAuZW50cnktY29udGVudCBsaSxcbiAgLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQgaDEsXG4gIC5iZy1ncmV5IC5lbnRyeS1jb250ZW50IGgyLFxuICAuYmctZ3JleSAuZW50cnktY29udGVudCBoMyxcbiAgLmJnLWdyZXkgLmVudHJ5LWNvbnRlbnQgaDQsXG4gIC5iZy1ncmV5IC5lbnRyeS1jb250ZW50IGg1LFxuICAuYmctZ3JleSAuZW50cnktY29udGVudCBoNixcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHAgYSxcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHAgYTp2aXNpdGVkLFxuICAuYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCBhOmFjdGl2ZSxcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHAgYTpob3ZlcixcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IHAsXG4gIC5iZy13aGl0ZSAuZW50cnktY29udGVudCBsaSxcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IGgxLFxuICAuYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgaDIsXG4gIC5iZy13aGl0ZSAuZW50cnktY29udGVudCBoMyxcbiAgLmJnLXdoaXRlIC5lbnRyeS1jb250ZW50IGg0LFxuICAuYmctd2hpdGUgLmVudHJ5LWNvbnRlbnQgaDUsXG4gIC5iZy13aGl0ZSAuZW50cnktY29udGVudCBoNixcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBwIGEsXG4gIC5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3Itd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCBhOnZpc2l0ZWQsXG4gIC5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3Itd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCBhOmFjdGl2ZSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBwIGE6aG92ZXIsXG4gIC5zaW5nbGUtcHJvamVjdHMgI21haW4uY29sb3Itd2hpdGUgLmVudHJ5LWNvbnRlbnQgcCxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBsaSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoMSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoMixcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoMyxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoNCxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoNSxcbiAgLnNpbmdsZS1wcm9qZWN0cyAjbWFpbi5jb2xvci13aGl0ZSAuZW50cnktY29udGVudCBoNixcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHAgYSxcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHAgYTp2aXNpdGVkLFxuICAuc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgcCBhOmFjdGl2ZSxcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHAgYTpob3ZlcixcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHAsXG4gIC5zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCBsaSxcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IGgxLFxuICAuc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDIsXG4gIC5zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCBoMyxcbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IGg0LFxuICAuc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDUsXG4gIC5zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCBoNiB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmVudHJ5LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgLypcbiAgaW1hZ2UgYWxpZ25tZW50IG9uIGEgc2NyZWVuIHRoaXMgc2l6ZSBtYXkgYmVcbiAgYSBiaXQgZGlmZmljdWx0LiBJdCdzIHNldCB0byBzdGFydCBhbGlnbmluZ1xuICBhbmQgZmxvYXRpbmcgaW1hZ2VzIGF0IHRoZSBuZXh0IGJyZWFrcG9pbnQsXG4gIGJ1dCBpdCdzIHVwIHRvIHlvdS4gRmVlbCBmcmVlIHRvIGNoYW5nZSBpdCB1cC5cbiAgKi8gfVxuICAuZW50cnktY29udGVudCBwLFxuICAuZW50cnktY29udGVudCBsaSxcbiAgLmVudHJ5LWNvbnRlbnQgaDEsXG4gIC5lbnRyeS1jb250ZW50IGgyLFxuICAuZW50cnktY29udGVudCBoMyxcbiAgLmVudHJ5LWNvbnRlbnQgaDQsXG4gIC5lbnRyeS1jb250ZW50IGg1LFxuICAuZW50cnktY29udGVudCBoNiB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmVudHJ5LWNvbnRlbnQgYSxcbiAgLmVudHJ5LWNvbnRlbnQgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuZW50cnktY29udGVudCBhLnJlYWQtbW9yZSxcbiAgICAuZW50cnktY29udGVudCBhOnZpc2l0ZWQucmVhZC1tb3JlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5lbnRyeS1jb250ZW50IGE6aG92ZXIsXG4gICAgLmVudHJ5LWNvbnRlbnQgYTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZW50cnktY29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIG1hcmdpbjogMCAwIDEuNWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZW50cnktY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuICAgIC5lbnRyeS1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IGxpIHtcbiAgICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuICAgIC5lbnRyeS1jb250ZW50IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgaDEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IHBsYXlmYWlyLWRpc3BsYXksIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMy42ZW07XG4gICAgbWFyZ2luOiAxMjBweCAwIDE1cHggMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5lbnRyeS1jb250ZW50IGgxIGEge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZW50cnktY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC4yZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDZlbTtcbiAgICAgICAgbWFyZ2luOiAxMjBweCAwIDQ1cHggMDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgbWFyZ2luOiA2MHB4IDAgMzBweCAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjZlbTsgfSB9XG4gICAgLmVudHJ5LWNvbnRlbnQgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZW50cnktY29udGVudCB1bCwgLmVudHJ5LWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAuZW50cnktY29udGVudCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5lbnRyeS1jb250ZW50IHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlZGYyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdGFibGUgY2FwdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgIGNvbG9yOiAjOWZhNmI0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlZGYyOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7IH1cbiAgLmVudHJ5LWNvbnRlbnQgdGQge1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWFlZGYyOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmVudHJ5LWNvbnRlbnQgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVkZjI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VhZWRmMjsgfVxuICAgIC5lbnRyeS1jb250ZW50IHRoOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtIDAuNzVlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjc1ZW07XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMGY1ZGU1O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzlmYTZiNDsgfVxuICAuZW50cnktY29udGVudCBkZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAuZW50cnktY29udGVudCBpbWcge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWltYWdlOmZpcnN0LWNoaWxkIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZW50cnktY29udGVudCAuc2l6ZS1hdXRvLFxuICAuZW50cnktY29udGVudCAuc2l6ZS1mdWxsLFxuICAuZW50cnktY29udGVudCAuc2l6ZS1sYXJnZSxcbiAgLmVudHJ5LWNvbnRlbnQgLnNpemUtbWVkaXVtLFxuICAuZW50cnktY29udGVudCAuc2l6ZS10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmVudHJ5LWNvbnRlbnQgcHJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjZjhmOWZhO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgcGFkZGluZzogMS41ZW07XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIC8qIGF0IHRoaXMgbGFyZ2VyIHNpemUsIHdlIGNhbiBzdGFydCB0byBhbGlnbiBpbWFnZXMgKi8gfVxuICAgICAgLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCwgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWdubGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41ZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0LCAuZW50cnktY29udGVudCBpbWcuYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5lbnRyeS1jb250ZW50IC5hbGlnbmNlbnRlciwgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWduY2VudGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLyogZW5kIC5lbnRyeS1jb250ZW50ICovXG4vKioqKioqKioqKioqKioqKioqKioqXG5SRVRJTkEgKDJ4IFJFU09MVVRJT04gREVWSUNFUylcblRoaXMgYXBwbGllcyB0byB0aGUgcmV0aW5hIGlQaG9uZSAoNHMpIGFuZCBpUGFkICgyLDMpIGFsb25nIHdpdGhcbm90aGVyIGRpc3BsYXlzIHdpdGggYSAyeCByZXNvbHV0aW9uLiBZb3UgY2FuIGFsc28gY3JlYXRlIGEgbWVkaWFcbnF1ZXJ5IGZvciByZXRpbmEgQU5EIGEgY2VydGFpbiBzaXplIGlmIHlvdSB3YW50LiBHbyBOdXRzLlxuKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU2l0ZSBOYW1lOiBcbkF1dGhvcjogXG5cblN0eWxlc2hlZXQ6IFJldGluYSBTY3JlZW5zICYgRGV2aWNlcyBTdHlsZXNoZWV0XG5cbldoZW4gaGFuZGxpbmcgcmV0aW5hIHNjcmVlbnMgeW91IG5lZWQgdG8gbWFrZSBhZGp1c3RtZW50cywgZXNwZWNpYWxseVxuaWYgeW91J3JlIG5vdCB1c2luZyBmb250IGljb25zLiBIZXJlIHlvdSBjYW4gYWRkIHRoZW0gaW4gb25lIG5lYXRcbnBsYWNlLlxuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qIFxuXG5FWEFNUExFIFxuTGV0J3Mgc2F5IHlvdSBoYXZlIGFuIGltYWdlIGFuZCB5b3UgbmVlZCB0byBtYWtlIHN1cmUgaXQgbG9va3Mgb2tcbm9uIHJldGluYSBzY3JlZW5zLiBMZXQncyBzYXkgd2UgaGF2ZSBhbiBpY29uIHdoaWNoIGRpbWVuc2lvbiBhcmVcbjI0cHggeCAyNHB4LiBJbiB5b3VyIHJlZ3VsYXIgc3R5bGVzaGVldHMsIGl0IHdvdWxkIGxvb2sgc29tZXRoaW5nXG5saWtlIHRoaXM6XG5cbi5pY29uIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0YmFja2dyb3VuZDogdXJsKGltZy90ZXN0LnBuZykgbm8tcmVwZWF0O1xufVxuXG5Gb3IgcmV0aW5hIHNjcmVlbnMsIHdlIGhhdmUgdG8gbWFrZSBzb21lIGFkanVzdG1lbnRzLCBzbyB0aGF0IGltYWdlXG5kb2Vzbid0IGxvb2sgYmx1cnJ5LiBTbywgdGFraW5nIGludG8gYWNjb3VudCB0aGUgaW1hZ2UgYWJvdmUgYW5kIHRoZVxuZGltZW5zaW9ucywgdGhpcyBpcyB3aGF0IHdlIHdvdWxkIHB1dCBpbiBvdXIgcmV0aW5hIHN0eWxlc2hlZXQ6XG5cbi5pY29uIHtcblx0YmFja2dyb3VuZDogdXJsKGltZy90ZXN0QDJ4LnBuZykgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbn1cblxuU28sIHlvdSB3b3VsZCBjcmVhdGUgdGhlIHNhbWUgaWNvbiwgYnV0IGF0IGRvdWJsZSB0aGUgcmVzb2x1dGlvbiwgbWVhbmluZyBcbml0IHdvdWxkIGJlIDQ4cHggeCA0OHB4LiBZb3UnZCBuYW1lIGl0IHRoZSBzYW1lLCBidXQgd2l0aCBhIEAyeCBhdCB0aGUgZW5kXG4odGhpcyBpcyBwcmV0dHkgc3RhbmRhcmQgcHJhY3RpY2UpLiBTZXQgdGhlIGJhY2tncm91bmQgaW1hZ2Ugc28gaXQgbWF0Y2hlc1xudGhlIG9yaWdpbmFsIGRpbWVuc2lvbnMgYW5kIHlvdSBhcmUgZ29vZCB0byBnby4gXG5cbiovIH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuUFJJTlQgU1RZTEVTSEVFVFxuRmVlbCBmcmVlIHRvIGN1c3RvbWl6ZSB0aGlzLiBSZW1lbWJlciB0byBhZGQgdGhpbmdzIHRoYXQgd29uJ3QgbWFrZVxuc2Vuc2UgdG8gcHJpbnQgYXQgdGhlIGJvdHRvbS4gVGhpbmdzIGxpa2UgbmF2LCBhZHMsIGFuZCBmb3JtcyBzaG91bGRcbmJlIHNldCB0byBkaXNwbGF5IG5vbmUuXG4qKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgcHJpbnQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TaXRlIE5hbWU6XG5BdXRob3I6XG5cblN0eWxlc2hlZXQ6IFByaW50IFN0eWxlc2hlZXRcblxuVGhpcyBpcyB0aGUgcHJpbnQgc3R5bGVzaGVldC4gVGhlcmUncyBwcm9iYWJseSBub3QgYSBsb3Rcbm9mIHJlYXNvbnMgdG8gZWRpdCB0aGlzIHN0eWxlc2hlZXQuIElmIHlvdSB3YW50IHRvXG50aG91Z2gsIGdvIGZvciBpdC5cblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZpbHRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICM0NDQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIGE6YWZ0ZXIsIGE6dmlzaXRlZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAgIGEgYWJiclt0aXRsZV06YWZ0ZXIsIGE6dmlzaXRlZCBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAuc2lkZWJhcixcbiAgLnBhZ2UtbmF2aWdhdGlvbixcbiAgLndwLXByZXYtbmV4dCxcbiAgLnJlc3BvbmQtZm9ybSxcbiAgbmF2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGUuY3NzLm1hcCAqLyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbF19 */