
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700");
@import url("https://fonts.googleapis.com/css?family=Lato:400,700");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
/* ==========================================================================
   INUITCSS
   ========================================================================== */
/**
 * inuitcss, by @csswizardry
 *
 * github.com/inuitcss | inuitcss.com
 */
/**
 * This is an example inuitcss manifest file. DO NOT MODIFY THIS FILE DIRECTLY.
 * Instead, copy and paste it into your own CSS directory and make additions,
 * extensions, and modifications there.
 */
/**
 * CONTENTS
 *
 * SETTINGS
 * Config...............Project-level configuration and feature switches.
 * Core.................inuitcss’ core and setup settings.
 * Global...............Project-wide variables and settings.
 *
 * TOOLS
 * Font-size............A mixin which guarantees baseline-friendly line-heights.
 * Clearfix.............Micro clearfix mixin.
 * Hidden...............Mixin for hiding elements.
 * Sass MQ..............inuitcss’ default media query manager.
 *
 * GENERIC
 * Box-sizing...........Better default `box-sizing`.
 * Normalize.css........A level playing field using @necolas’ Normalize.css.
 * Reset................A tiny reset to complement Normalize.css.
 * Shared...............Sensibly and tersely share some global commonalities
 *                      (particularly useful when managing vertical rhythm).
 *
 * ELEMENTS
 * Page.................Set up our document’s default `font-size` and
 *                      `line-height`.
 * Headings.............Very minimal (i.e. only font-size information) for
 *                      headings 1 through 6.
 * Images...............Base image styles.
 * Tables...............Simple table styles.
 *
 * OBJECTS
 * Wrapper..............Page constraint object.
 * Layout...............Generic layout module.
 * Media................Image- and text-like content side by side. The
 *                      poster-child of OOCSS.
 * Flag.................Table-layout-based advancement on the Media object.
 * List-bare............Lists with no bullets or indents.
 * List-inline..........A list whose items all site in a line.
 * Box..................Simple boxing abstraction.
 * Block................Image-on-top-of-text object.
 * Ratio................A container for maintaining aspect ratio of content.
 * Crop.................Provide a cropping context for media (images, etc.).
 * Table................Classes for manipulating `table`s.
 * Pack.................Pack items into available horizontal space.
 *
 * COMPONENTS
 * Buttons..............An example button component, and how it fits into the
 *                      inuitcss framework.
 *
 * UTILITIES
 * Clearfix.............Bind our clearfix onto a utility class.
 * Widths...............Simple width helper classes.
 * Headings.............Reassigning our heading styles to helper classes.
 * Spacings.............Nudge bits of the DOM around with these spacing
 *                      classes.
 * Responsive-Spacings..Enhances the function of normal spacings for
 *                      responsive usage.
 * Print................Reset-like styles taken from the HTML5 Boilerplate.
 * Hide.................Helper classes to hide content
 */
/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

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

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

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

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

em {
  text-decoration: underline;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

/**
 * Until we have a design recipe for focus states
 * remove the generic focus outline
 */
input:focus {
  outline: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   #RESET
   ========================================================================== */
/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0;
}

/**
 * Remove trailing margins from nested lists.
 */
li > ol,
li > ul {
  margin-bottom: 0;
}

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */
fieldset {
  min-width: 0; /* [1] */
  border: 0;
}

/* ==========================================================================
   #SHARED
   ========================================================================== */
/**
 * Shared declarations for certain elements.
 */
/**
 * Always declare margins in the same direction:
 * csswizardry.com/2012/06/single-direction-margin-declarations
 */
address,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, ol, ul,
figure,
hr,
table,
fieldset {
  margin-bottom: 24px;
}

/**
 * Consistent indentation for lists.
 */
dd, ol, ul {
  margin-left: 24px;
}

/* ==========================================================================
   #PAGE
   ========================================================================== */
/**
 * Simple page-level setup.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 */
html {
  font-size: 1em; /* [1] */
  line-height: 1.5; /* [1] */
  overflow-y: scroll; /* [2] */
  min-height: 100%; /* [3] */
}

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/**
 * Simple default styles for headings 1 through 6. Anything more opinionated
 * than simple font-size changes should likely be applied via classes (see:
 * http://csswizardry.com/2016/02/managing-typography-on-large-apps/).
 */
h1 {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.2857142857;
  color: rgba(0, 0, 0, 0.84);
}

h2 {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.2857142857;
}

h3 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.84);
}

h4 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

h5 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

h6 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

/* ==========================================================================
   #IMAGES
   ========================================================================== */
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%; /* [1] */
  font-style: italic; /* [2] */
  vertical-align: middle; /* [3] */
}

/**
 * If a `width` and/or `height` attribute has been explicitly defined, let’s
 * not make the image fluid.
 */
img[width],
img[height] {
  max-width: none;
}

/* ==========================================================================
   #TABLES
   ========================================================================== */
/**
 * 1. Ensure tables fill up as much space as possible.
 */
table {
  width: 100%; /* [1] */
}

/* ==========================================================================
   #WRAPPER
   ========================================================================== */
/**
 * Page-level constraining and wrapping elements.
 */
.o-wrapper {
  margin-right: auto;
  margin-left: auto;
}
.o-wrapper:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}
@media (min-width: 46.25em) {
  .o-wrapper {
    max-width: 1200px;
    padding-right: 24px;
    padding-left: 24px;
  }
}

.nav-wrapper, .footer-wrapper {
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
  max-width: 1200px;
}
.nav-wrapper:after, .footer-wrapper:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

/* ==========================================================================
   #LAYOUT
   ========================================================================== */
/**
 * Grid-like layout system.
 *
 * The layout object provides us with a column-style layout system. This file
 * contains the basic structural elements, but classes should be complemented
 * with width utilities, for example:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *   </div>
 *
 * The above will create a two-column structure in which each column will
 * fluidly fill half of the width of the parent. We can have more complex
 * systems:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/1  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *   </div>
 *
 * The above will create a system in which the first item will be 100% width
 * until we enter our medium breakpoint, when it will become 33.333% width. The
 * second and third items will be 50% of their parent, until they also become
 * 33.333% width at the medium breakpoint.
 *
 * We can also manipulate entire layout systems by adding a series of modifiers
 * to the `.o-layout` block. For example:
 *
 *   <div class="o-layout  o-layout--reverse">
 *
 * This will reverse the displayed order of the system so that it runs in the
 * opposite order to our source, effectively flipping the system over.
 *
 *   <div class="o-layout  o-layout--[right|center]">
 *
 * This will cause the system to fill up from either the centre or the right
 * hand side. Default behaviour is to fill up the layout system from the left.
 *
 * There are plenty more options available to us: explore them below.
 */
/* Default/mandatory classes
   ========================================================================== */
/**
 * 1. Allows us to use the layout object on any type of element.
 * 2. We need to defensively reset any box-model properties.
 * 3. Use the negative margin trick for multi-row grids:
 *    http://csswizardry.com/2011/08/building-better-grid-systems/
 */
.o-layout {
  display: block; /* [1] */
  margin: 0; /* [2] */
  padding: 0; /* [2] */
  list-style: none; /* [1] */
  margin-left: -24px; /* [3] */
  font-size: 0;
}

/**
 * 1. Required in order to combine fluid widths with fixed gutters.
 * 2. Allows us to manipulate grids vertically, with text-level properties,
 *    etc.
 * 3. Default item alignment is with the tops of each other, like most
 *    traditional grid/layout systems.
 * 4. By default, all layout items are full-width (mobile first).
 * 5. Gutters provided by left padding:
 *    http://csswizardry.com/2011/08/building-better-grid-systems/
 * 6. Fallback for old IEs not supporting `rem` values.
 */
.o-layout__item {
  box-sizing: border-box; /* [1] */
  display: inline-block; /* [2] */
  vertical-align: top; /* [3] */
  width: 100%; /* [4] */
  padding-left: 24px; /* [5] */
  font-size: 16px; /* [6] */
  font-size: 1rem;
}

/* Gutter size modifiers
   ========================================================================== */
.o-layout--flush {
  margin-left: 0;
}
.o-layout--flush > .o-layout__item {
  padding-left: 0;
}

.o-layout--tiny {
  margin-left: -6px;
}
.o-layout--tiny > .o-layout__item {
  padding-left: 6px;
}

.o-layout--small {
  margin-left: -12px;
}
.o-layout--small > .o-layout__item {
  padding-left: 12px;
}

.o-layout--large {
  margin-left: -48px;
}
.o-layout--large > .o-layout__item {
  padding-left: 48px;
}

.o-layout--huge {
  margin-left: -96px;
}
.o-layout--huge > .o-layout__item {
  padding-left: 96px;
}

/* Vertical alignment modifiers
   ========================================================================== */
/**
 * Align all grid items to the middles of each other.
 */
.o-layout--middle > .o-layout__item {
  vertical-align: middle;
}

/**
 * Align all grid items to the bottoms of each other.
 */
.o-layout--bottom > .o-layout__item {
  vertical-align: bottom;
}

/**
 * Stretch all grid items of each row to have an equal-height.
 * Please be aware that this modifier class doesn’t take any effect in IE9 and
 * below and other older browsers due to the lack of `display: flex` support.
 */
.o-layout--stretch {
  display: flex;
  flex-wrap: wrap;
}
.o-layout--stretch > .o-layout__item {
  display: flex;
}
.o-layout--stretch.o-layout--center {
  justify-content: center;
}
.o-layout--stretch.o-layout--right {
  justify-content: flex-end;
}
.o-layout--stretch.o-layout--left {
  justify-content: flex-start;
}

/* Fill order modifiers
   ========================================================================== */
/**
 * Fill up the layout system from the centre.
 */
.o-layout--center {
  text-align: center;
}
.o-layout--center > .o-layout__item {
  text-align: left;
}

/**
 * Fill up the layout system from the right-hand side.
 */
.o-layout--right {
  text-align: right;
}
.o-layout--right > .o-layout__item {
  text-align: left;
}

/**
 * Fill up the layout system from the left-hand side. This will likely only be
 * needed when using in conjunction with `.o-layout--reverse`.
 */
.o-layout--left {
  text-align: left;
}
.o-layout--left > .o-layout__item {
  text-align: left;
}

/**
 * Reverse the rendered order of the grid system.
 */
.o-layout--reverse {
  direction: rtl;
}
.o-layout--reverse > .o-layout__item {
  direction: ltr;
}

/* Auto-widths modifier
   ========================================================================== */
/**
 * Cause layout items to take up a non-explicit amount of width.
 */
.o-layout--auto > .o-layout__item {
  width: auto;
}

/* ==========================================================================
   #MEDIA
   ========================================================================== */
/**
 * Place any image- and text-like content side-by-side, as per:
 * http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 */
.o-media {
  display: block;
}
.o-media:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.o-media__img {
  float: left;
  margin-right: 24px;
}
.o-media__img > img {
  display: block;
}

.o-media__body {
  overflow: hidden;
  display: block;
}
.o-media__body,
.o-media__body > :last-child {
  margin-bottom: 0;
}

/* Size variants
   ========================================================================== */
/**
 * Modify the amount of space between our image and our text. We also have
 * reversible options for all available sizes.
 */
.o-media--flush > .o-media__img {
  margin-right: 0;
  margin-left: 0;
}

.o-media--tiny > .o-media__img {
  margin-right: 6px;
}
.o-media--tiny.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 6px;
}

.o-media--small > .o-media__img {
  margin-right: 12px;
}
.o-media--small.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 12px;
}

.o-media--large > .o-media__img {
  margin-right: 48px;
}
.o-media--large.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 48px;
}

.o-media--huge > .o-media__img {
  margin-right: 96px;
}
.o-media--huge.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 96px;
}

/* Reversed media objects
   ========================================================================== */
.o-media--reverse > .o-media__img {
  float: right;
  margin-right: 0;
  margin-left: 24px;
}

/* ==========================================================================
   #FLAG
   ========================================================================== */
/**
 * The flag object is a design pattern similar to the media object, however it
 * utilises `display: table[-cell];` to give us control over the vertical
 * alignments of the text and image.
 *
 * http://csswizardry.com/2013/05/the-flag-object/
 *
 * 1. Allows us to control vertical alignments.
 * 2. Force the object to be the full width of its parent. Combined with [1],
 *    this makes the object behave in a quasi-`display: block;` manner.
 * 3. Reset inherited `border-spacing` declarations.
 */
.o-flag {
  display: table; /* [1] */
  width: 100%; /* [2] */
  border-spacing: 0; /* [3] */
}

/**
 * Items within a flag object. There should only ever be one of each.
 *
 * 1. Default to aligning content to their middles.
 */
.o-flag__img,
.o-flag__body {
  display: table-cell;
  vertical-align: middle; /* [1] */
}

/**
 * Flag images have a space between them and the body of the object.
 *
 * 1. Force `.flag__img` to take up as little space as possible:
 *    https://pixelsvsbytes.com/2012/02/this-css-layout-grid-is-no-holy-grail/
 */
.o-flag__img {
  width: 1px; /* [1] */
  padding-right: 24px;
  /**
   * 1. Fixes problem with images disappearing.
   *
   *    The direct child selector '>' needs to remain in order for nested flag
   *    objects to not inherit their parent’s formatting. In case the image tag
   *    is wrapped into another tag, e.g. an anchor for linking reasons, it will
   *    disappear. In that case try wrapping the whole o-flag__img object into
   *    an anchor tag.
   *
   *    E.g.:
   *
   *      <a href="/">
   *        <div class="o-flag__img">
   *          <img src="./link/to/image.jpg" alt="image alt text">
   *        </div>
   *      </a>
   */
}
.o-flag__img > img {
  max-width: none; /* [1] */
}

/**
 * The container for the main content of the flag object.
 *
 * 1. Forces the `.flag__body` to take up all remaining space.
 */
.o-flag__body {
  width: auto; /* [1] */
}
.o-flag__body,
.o-flag__body > :last-child {
  margin-bottom: 0;
}

/* Size variants
   ========================================================================== */
.o-flag--flush > .o-flag__img {
  padding-right: 0;
  padding-left: 0;
}

.o-flag--tiny > .o-flag__img {
  padding-right: 6px;
}
.o-flag--tiny.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 6px;
}

.o-flag--small > .o-flag__img {
  padding-right: 12px;
}
.o-flag--small.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 12px;
}

.o-flag--large > .o-flag__img {
  padding-right: 48px;
}
.o-flag--large.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 48px;
}

.o-flag--huge > .o-flag__img {
  padding-right: 96px;
}
.o-flag--huge.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 96px;
}

/* Reversed flag
   ========================================================================== */
/**
 * 1. Swap the rendered direction of the object…
 * 2. …and reset it.
 * 3. Reassign margins to the correct sides.
 */
.o-flag--reverse {
  direction: rtl; /* [1] */
}
.o-flag--reverse > .o-flag__img,
.o-flag--reverse > .o-flag__body {
  direction: ltr; /* [2] */
}
.o-flag--reverse > .o-flag__img {
  padding-right: 0; /* [3] */
  padding-left: 24px; /* [3] */
}

/* Alignment variants
   ========================================================================== */
/**
 * Vertically align the image- and body-content differently. Defaults to middle.
 */
.o-flag--top > .o-flag__img,
.o-flag--top > .o-flag__body {
  vertical-align: top;
}

.o-flag--bottom > .o-flag__img,
.o-flag--bottom > .o-flag__body {
  vertical-align: bottom;
}

/* ==========================================================================
   #LIST-BARE
   ========================================================================== */
/**
 * Strip list-like appearance from lists by removing their bullets and any
 * indentation.
 *
 * Note: Declaring the item class might not be necessary everywhere,
 * but is for example in <dl> lists for the <dd> children.
 */
.o-list-bare {
  list-style: none;
  margin-left: 0;
}

.o-list-bare__item {
  margin-left: 0;
}

/* ==========================================================================
   #LIST-INLINE
   ========================================================================== */
/**
 * The list-inline object simply displays a list of items in one line.
 */
.o-list-inline {
  margin-left: 0;
  list-style: none;
}

.o-list-inline__item {
  display: inline-block;
}

/* ==========================================================================
   #BOX
   ========================================================================== */
/**
 * The box object simply boxes off content. Extend with cosmetic styles in the
 * Components layer.
 *
 * 1. So we can apply the `.o-box` class to naturally-inline elements.
 */
.o-box {
  display: block; /* [1] */
  padding: 24px;
}
.o-box:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}
.o-box > :last-child {
  margin-bottom: 0;
}

/* Size variants
   ========================================================================== */
.o-box--flush {
  padding: 0;
}

.o-box--tiny {
  padding: 6px;
}

.o-box--small {
  padding: 12px;
}

.o-box--large {
  padding: 48px;
}

.o-box--huge {
  padding: 96px;
}

/* ==========================================================================
   #BLOCK
   ========================================================================== */
/**
 * Stacked image-with-text object. A simple abstraction to cover a very commonly
 * occurring design pattern.
 */
.o-block {
  display: block;
  text-align: center;
}

.o-block__img {
  margin-bottom: 24px;
  /* Size variants
     ====================================================================== */
}
.o-block--flush > .o-block__img {
  margin-bottom: 0;
}
.o-block--tiny > .o-block__img {
  margin-bottom: 6px;
}
.o-block--small > .o-block__img {
  margin-bottom: 12px;
}
.o-block--large > .o-block__img {
  margin-bottom: 48px;
}
.o-block--huge > .o-block__img {
  margin-bottom: 96px;
}

.o-block__body {
  display: block;
}

/* Alignment variants
   ========================================================================== */
.o-block--right {
  text-align: right;
}

.o-block--left {
  text-align: left;
}

/* ==========================================================================
   #RATIO
   ========================================================================== */
/**
 * Create ratio-bound content blocks, to keep media (e.g. images, videos) in
 * their correct aspect ratios.
 *
 * http://alistapart.com/article/creating-intrinsic-ratios-for-video
 *
 * 1. Default is a 1:1 ratio (i.e. a perfect square).
 */
.o-ratio {
  position: relative;
  display: block;
}
.o-ratio:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 100%; /* [1] */
}

.o-ratio__content,
.o-ratio > iframe,
.o-ratio > embed,
.o-ratio > object {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* Ratio variants.
   ========================================================================== */
/**
 * Generate a series of ratio classes to be used like so:
 *
 *   <div class="o-ratio  o-ratio--golden-ratio">
 *
 */
.o-ratio--2\:1:before {
  padding-bottom: 50%;
}

.o-ratio--4\:3:before {
  padding-bottom: 75%;
}

.o-ratio--16\:9:before {
  padding-bottom: 56.25%;
}

/* Contain modifier.
   ========================================================================== */
/**
 * Only works with image content.
 * Contains the image to the boundaries, without cropping or stretching it.
 */
.o-ratio--img-contain > .o-ratio__content:before {
  height: auto;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  width: auto;
}

/* ==========================================================================
   #CROP
   ========================================================================== */
/**
 * Provide a cropping container in order to display media (usually images)
 * cropped to certain ratios.
 *
 * 1. Set up a positioning context in which the image can sit.
 * 2. This is the crucial part: where the cropping happens.
 */
.o-crop {
  position: relative; /* [1] */
  display: block;
  overflow: hidden; /* [2] */
}

/**
 * Apply this class to the content (usually `img`) that needs cropping.
 *
 * 1. Image’s default positioning is top-left in the cropping box.
 * 2. Make sure the media doesn’t stop itself too soon.
 */
.o-crop__content {
  position: absolute;
  top: 0; /* [1] */
  left: 0; /* [1] */
  max-width: none; /* [2] */
}

/**
 * We can position the media in different locations within the cropping area.
 */
.o-crop__content--left-top {
  left: 0;
}

.o-crop__content--left-center {
  top: 50%;
  transform: translateY(-50%);
}

.o-crop__content--left-bottom {
  top: auto;
  bottom: 0;
}

.o-crop__content--right-top {
  right: 0;
  left: auto;
}

.o-crop__content--right-center {
  top: 50%;
  right: 0;
  left: auto;
  transform: translateY(-50%);
}

.o-crop__content--right-bottom {
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
}

.o-crop__content--center-top {
  left: 50%;
  transform: translateX(-50%);
}

.o-crop__content--center,
.o-crop__content--center-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.o-crop__content--center-bottom {
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* Crop-ratio variants
   ========================================================================== */
/**
 * Generate a series of crop classes to be used like so:
 *
 *   <div class="o-crop  o-crop--golden-ratio">
 *
 */
.o-crop--2\:1 {
  padding-bottom: 50%;
}

.o-crop--4\:3 {
  padding-bottom: 75%;
}

.o-crop--16\:9 {
  padding-bottom: 56.25%;
}

/* Fill modifier
   ========================================================================== */
/**
 * Content stretches to fill it's container while maintaining aspect-ratio.
 */
.o-crop--fill > .o-crop__content {
  min-height: 100%;
  min-width: 100%;
}

/* ==========================================================================
   #TABLE
   ========================================================================== */
/**
 * A simple object for manipulating the structure of HTML `table`s.
 */
.o-table {
  width: 100%;
}

/* Equal-width table cells
   ========================================================================== */
/**
 * `table-layout: fixed` forces all cells within a table to occupy the same
 * width as each other. This also has performance benefits: because the browser
 * does not need to (re)calculate cell dimensions based on content it discovers,
 * the table can be rendered very quickly. Further reading:
 * https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout#Values
 */
.o-table--fixed {
  table-layout: fixed;
}

/* Size variants
   ========================================================================== */
.o-table--tiny th,
.o-table--tiny td {
  padding: 6px;
}

.o-table--small th,
.o-table--small td {
  padding: 12px;
  font-weight: 400;
}

.o-table--large th,
.o-table--large td {
  padding: 48px;
}

.o-table--huge th,
.o-table--huge td {
  padding: 96px;
}

/* ==========================================================================
   #PACK
   ========================================================================== */
/**
 * The pack object simply causes any number of elements pack up horizontally to
 * automatically fill an equal, fluid width of their parent.
 *
 * 1. Fill all available space.
 * 2. Remove any leftover styling from lists.
 * 3. Cause children to be automatically equally sized.
 */
.o-pack {
  width: 100%; /* [1] */
  margin-left: 0; /* [2] */
  display: table;
  table-layout: fixed; /* [3] */
}

/**
 * 1. Cause children to adopt table-like structure.
 * 2. Default item alignment is with the tops of each other.
 */
.o-pack__item {
  display: table-cell; /* [1] */
  vertical-align: top; /* [2] */
  /* Vertical alignment variants
     ====================================================================== */
}
.o-pack--middle > .o-pack__item {
  vertical-align: middle;
}
.o-pack--bottom > .o-pack__item {
  vertical-align: bottom;
}

/* Unequal-width items
   ========================================================================== */
.o-pack--auto {
  table-layout: auto;
}

/* Size variants
   ========================================================================== */
.o-pack--tiny {
  border-spacing: 6px;
}

.o-pack--small {
  border-spacing: 12px;
}

.o-pack--default {
  border-spacing: 24px;
}

.o-pack--large {
  border-spacing: 48px;
}

.o-pack--huge {
  border-spacing: 96px;
}

/* Reversed order packs
   ========================================================================== */
.o-pack--reverse {
  direction: rtl;
}
.o-pack--reverse > .o-pack__item {
  direction: ltr;
}

/* ==========================================================================
   #CLEARFIX
   ========================================================================== */
/**
 * Attach our clearfix mixin to a utility class.
 */
.u-clearfix:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

/* ==========================================================================
   #WIDTHS
   ========================================================================== */
/**
 * inuitcss generates a series of utility classes that give a fluid width to
 * whichever element they’re applied, e.g.:
 *
 *   <img src="" alt="" class="u-1/2" />
 *
 * These classes are most commonly used in conjunction with our layout system,
 * e.g.:
 *
 *   <div class="o-layout__item  u-1/2">
 *
 * By default, inuitcss will also generate responsive variants of each of these
 * classes by using your Sass MQ configuration, e.g.:
 *
 *   <div class="o-layout__item  u-1/1  u-1/2@tablet  u-1/3@desktop">
 *
 * Optionally, inuitcss can generate offset classes which can push and pull
 * elements left and right by a specified amount, e.g.:
 *
 *   <div class="o-layout__item  u-2/3  u-pull-1/3">
 *
 * This is useful for making very granular changes to the rendered order of
 * items in a layout.
 *
 * N.B. This option is turned off by default.
 */
/**
 * A series of width helper classes that you can use to size things like grid
 * systems. Classes take a fraction-like format (e.g. `.u-2/3`). Use these in
 * your markup:
 *
 * <div class="u-7/12">
 *
 * The following will generate widths helper classes based on the fractions
 * defined in the `$inuit-fractions` list.
 */
.u-1\/1 {
  width: 100% !important;
}

.u-1\/2 {
  width: 50% !important;
}

.u-2\/2 {
  width: 100% !important;
}

.u-1\/3 {
  width: 33.3333333333% !important;
}

.u-2\/3 {
  width: 66.6666666667% !important;
}

.u-3\/3 {
  width: 100% !important;
}

.u-1\/4 {
  width: 25% !important;
}

.u-2\/4 {
  width: 50% !important;
}

.u-3\/4 {
  width: 75% !important;
}

.u-4\/4 {
  width: 100% !important;
}

.u-1\/5 {
  width: 20% !important;
}

.u-2\/5 {
  width: 40% !important;
}

.u-3\/5 {
  width: 60% !important;
}

.u-4\/5 {
  width: 80% !important;
}

.u-5\/5 {
  width: 100% !important;
}

/**
 * If we’re using Sass-MQ, automatically generate grid system(s) for each of our
 * defined breakpoints, and give them a Responsive Suffix, e.g.:
 *
 * <div class="u-3/12@mobile">
 */
@media (min-width: 20em) {
  .u-1\/1\@mobile {
    width: 100% !important;
  }
  .u-1\/2\@mobile {
    width: 50% !important;
  }
  .u-2\/2\@mobile {
    width: 100% !important;
  }
  .u-1\/3\@mobile {
    width: 33.3333333333% !important;
  }
  .u-2\/3\@mobile {
    width: 66.6666666667% !important;
  }
  .u-3\/3\@mobile {
    width: 100% !important;
  }
  .u-1\/4\@mobile {
    width: 25% !important;
  }
  .u-2\/4\@mobile {
    width: 50% !important;
  }
  .u-3\/4\@mobile {
    width: 75% !important;
  }
  .u-4\/4\@mobile {
    width: 100% !important;
  }
  .u-1\/5\@mobile {
    width: 20% !important;
  }
  .u-2\/5\@mobile {
    width: 40% !important;
  }
  .u-3\/5\@mobile {
    width: 60% !important;
  }
  .u-4\/5\@mobile {
    width: 80% !important;
  }
  .u-5\/5\@mobile {
    width: 100% !important;
  }
}
@media (min-width: 46.25em) {
  .u-1\/1\@tablet {
    width: 100% !important;
  }
  .u-1\/2\@tablet {
    width: 50% !important;
  }
  .u-2\/2\@tablet {
    width: 100% !important;
  }
  .u-1\/3\@tablet {
    width: 33.3333333333% !important;
  }
  .u-2\/3\@tablet {
    width: 66.6666666667% !important;
  }
  .u-3\/3\@tablet {
    width: 100% !important;
  }
  .u-1\/4\@tablet {
    width: 25% !important;
  }
  .u-2\/4\@tablet {
    width: 50% !important;
  }
  .u-3\/4\@tablet {
    width: 75% !important;
  }
  .u-4\/4\@tablet {
    width: 100% !important;
  }
  .u-1\/5\@tablet {
    width: 20% !important;
  }
  .u-2\/5\@tablet {
    width: 40% !important;
  }
  .u-3\/5\@tablet {
    width: 60% !important;
  }
  .u-4\/5\@tablet {
    width: 80% !important;
  }
  .u-5\/5\@tablet {
    width: 100% !important;
  }
}
@media (min-width: 61.25em) {
  .u-1\/1\@desktop {
    width: 100% !important;
  }
  .u-1\/2\@desktop {
    width: 50% !important;
  }
  .u-2\/2\@desktop {
    width: 100% !important;
  }
  .u-1\/3\@desktop {
    width: 33.3333333333% !important;
  }
  .u-2\/3\@desktop {
    width: 66.6666666667% !important;
  }
  .u-3\/3\@desktop {
    width: 100% !important;
  }
  .u-1\/4\@desktop {
    width: 25% !important;
  }
  .u-2\/4\@desktop {
    width: 50% !important;
  }
  .u-3\/4\@desktop {
    width: 75% !important;
  }
  .u-4\/4\@desktop {
    width: 100% !important;
  }
  .u-1\/5\@desktop {
    width: 20% !important;
  }
  .u-2\/5\@desktop {
    width: 40% !important;
  }
  .u-3\/5\@desktop {
    width: 60% !important;
  }
  .u-4\/5\@desktop {
    width: 80% !important;
  }
  .u-5\/5\@desktop {
    width: 100% !important;
  }
}
@media (min-width: 81.25em) {
  .u-1\/1\@wide {
    width: 100% !important;
  }
  .u-1\/2\@wide {
    width: 50% !important;
  }
  .u-2\/2\@wide {
    width: 100% !important;
  }
  .u-1\/3\@wide {
    width: 33.3333333333% !important;
  }
  .u-2\/3\@wide {
    width: 66.6666666667% !important;
  }
  .u-3\/3\@wide {
    width: 100% !important;
  }
  .u-1\/4\@wide {
    width: 25% !important;
  }
  .u-2\/4\@wide {
    width: 50% !important;
  }
  .u-3\/4\@wide {
    width: 75% !important;
  }
  .u-4\/4\@wide {
    width: 100% !important;
  }
  .u-1\/5\@wide {
    width: 20% !important;
  }
  .u-2\/5\@wide {
    width: 40% !important;
  }
  .u-3\/5\@wide {
    width: 60% !important;
  }
  .u-4\/5\@wide {
    width: 80% !important;
  }
  .u-5\/5\@wide {
    width: 100% !important;
  }
}
/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/**
 * Redefine all of our basic heading styles against utility classes so as to
 * allow for double stranded heading hierarchy, e.g. we semantically need an H2,
 * but we want it to be sized like an H1:
 *
 *   <h2 class="u-h1"></h2>
 *
 */
.u-h1 {
  font-size: 36px !important;
  font-size: 2.25rem !important;
  line-height: 1.1666666667 !important;
}

.u-h2 {
  font-size: 28px !important;
  font-size: 1.75rem !important;
  line-height: 1.2857142857 !important;
}

.u-h3 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
}

.u-h4 {
  font-size: 20px !important;
  font-size: 1.25rem !important;
  line-height: 1.5 !important;
}

.u-h5 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.3333333333 !important;
}

.u-h6 {
  font-size: 16px !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

/* ==========================================================================
   #SPACINGS
   ========================================================================== */
/**
 * Utility classes to put specific spacing values onto elements. The below loop
 * will generate us a suite of classes like:
 *
 *   .u-margin-top {}
 *   .u-padding-left-large {}
 *   .u-margin-right-small {}
 *   .u-padding {}
 *   .u-padding-right-none {}
 *   .u-padding-horizontal {}
 *   .u-padding-vertical-small {}
 */
.u-padding {
  padding: 24px !important;
}

.u-padding-tiny {
  padding: 6px !important;
}

.u-padding-small {
  padding: 12px !important;
}

.u-padding-large {
  padding: 48px !important;
}

.u-padding-huge {
  padding: 96px !important;
}

.u-padding-none {
  padding: 0 !important;
}

.u-padding-top {
  padding-top: 24px !important;
}

.u-padding-top-tiny {
  padding-top: 6px !important;
}

.u-padding-top-small {
  padding-top: 12px !important;
}

.u-padding-top-large {
  padding-top: 48px !important;
}

.u-padding-top-huge {
  padding-top: 96px !important;
}

.u-padding-top-none {
  padding-top: 0 !important;
}

.u-padding-right {
  padding-right: 24px !important;
}

.u-padding-right-tiny {
  padding-right: 6px !important;
}

.u-padding-right-small {
  padding-right: 12px !important;
}

.u-padding-right-large {
  padding-right: 48px !important;
}

.u-padding-right-huge {
  padding-right: 96px !important;
}

.u-padding-right-none {
  padding-right: 0 !important;
}

.u-padding-bottom {
  padding-bottom: 24px !important;
}

.u-padding-bottom-tiny {
  padding-bottom: 6px !important;
}

.u-padding-bottom-small {
  padding-bottom: 12px !important;
}

.u-padding-bottom-large {
  padding-bottom: 48px !important;
}

.u-padding-bottom-huge {
  padding-bottom: 96px !important;
}

.u-padding-bottom-none {
  padding-bottom: 0 !important;
}

.u-padding-left {
  padding-left: 24px !important;
}

.u-padding-left-tiny {
  padding-left: 6px !important;
}

.u-padding-left-small {
  padding-left: 12px !important;
}

.u-padding-left-large {
  padding-left: 48px !important;
}

.u-padding-left-huge {
  padding-left: 96px !important;
}

.u-padding-left-none {
  padding-left: 0 !important;
}

.u-padding-horizontal {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.u-padding-horizontal-tiny {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.u-padding-horizontal-small {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.u-padding-horizontal-large {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.u-padding-horizontal-huge {
  padding-left: 96px !important;
  padding-right: 96px !important;
}

.u-padding-horizontal-none {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.u-padding-vertical {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.u-padding-vertical-tiny {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.u-padding-vertical-small {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.u-padding-vertical-large {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.u-padding-vertical-huge {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}

.u-padding-vertical-none {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.u-margin {
  margin: 24px !important;
}

.u-margin-tiny {
  margin: 6px !important;
}

.u-margin-small {
  margin: 12px !important;
}

.u-margin-large {
  margin: 48px !important;
}

.u-margin-huge {
  margin: 96px !important;
}

.u-margin-none {
  margin: 0 !important;
}

.u-margin-top {
  margin-top: 24px !important;
}

.u-margin-top-tiny {
  margin-top: 6px !important;
}

.u-margin-top-small {
  margin-top: 12px !important;
}

.u-margin-top-large {
  margin-top: 48px !important;
}

.u-margin-top-huge {
  margin-top: 96px !important;
}

.u-margin-top-none {
  margin-top: 0 !important;
}

.u-margin-right {
  margin-right: 24px !important;
}

.u-margin-right-tiny {
  margin-right: 6px !important;
}

.u-margin-right-small {
  margin-right: 12px !important;
}

.u-margin-right-large {
  margin-right: 48px !important;
}

.u-margin-right-huge {
  margin-right: 96px !important;
}

.u-margin-right-none {
  margin-right: 0 !important;
}

.u-margin-bottom {
  margin-bottom: 24px !important;
}

.u-margin-bottom-tiny {
  margin-bottom: 6px !important;
}

.u-margin-bottom-small {
  margin-bottom: 12px !important;
}

.u-margin-bottom-large {
  margin-bottom: 48px !important;
}

.u-margin-bottom-huge {
  margin-bottom: 96px !important;
}

.u-margin-bottom-none {
  margin-bottom: 0 !important;
}

.u-margin-left {
  margin-left: 24px !important;
}

.u-margin-left-tiny {
  margin-left: 6px !important;
}

.u-margin-left-small {
  margin-left: 12px !important;
}

.u-margin-left-large {
  margin-left: 48px !important;
}

.u-margin-left-huge {
  margin-left: 96px !important;
}

.u-margin-left-none {
  margin-left: 0 !important;
}

.u-margin-horizontal {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.u-margin-horizontal-tiny {
  margin-left: 6px !important;
  margin-right: 6px !important;
}

.u-margin-horizontal-small {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.u-margin-horizontal-large {
  margin-left: 48px !important;
  margin-right: 48px !important;
}

.u-margin-horizontal-huge {
  margin-left: 96px !important;
  margin-right: 96px !important;
}

.u-margin-horizontal-none {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.u-margin-vertical {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.u-margin-vertical-tiny {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.u-margin-vertical-small {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.u-margin-vertical-large {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.u-margin-vertical-huge {
  margin-top: 96px !important;
  margin-bottom: 96px !important;
}

.u-margin-vertical-none {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   #RESPONSIVE-SPACINGS
   ========================================================================== */
/**
 * Utility classes enhancing the normal spacing classes by adding responsiveness
 * to them. By default, there are not responsive spacings defined. You can
 * generate responsive spacings by adding entries to the following three Sass
 * maps, e.g.:
 *
 *   $inuit-responsive-spacing-directions: (
 *     null: null,
 *     "-bottom": "-bottom",
 *   );
 *
 *   $inuit-responsive-spacing-properties: (
 *     "margin": "margin",
 *   );
 *
 *   $inuit-responsive-spacing-sizes: (
 *     "-small": $inuit-global-spacing-unit-small,
 *   );
 *
 * This would bring us the following classes:
 *
 *   .u-margin-small@mobile {}
 *   .u-margin-small@tablet {}
 *   .u-margin-small@desktop {}
 *   .u-margin-small@wide {}
 *   .u-margin-bottom-small@mobile {}
 *   .u-margin-bottom-small@tablet {}
 *   .u-margin-bottom-small@desktop {}
 *   .u-margin-bottom-small@wide {}
 *
 * You can change the generated CSS classes by further extending the Sass maps.
 * If you want every ‘normal’ spacing (those from `utilities.spacings`) also as
 * a responsive version, you can just mirror the ‘normal’ spacings:
 *
 *   $inuit-responsive-spacing-directions: $inuit-spacing-directions !default;
 *
 *   $inuit-responsive-spacing-properties: $inuit-spacing-properties !default;
 *
 *   $inuit-responsive-spacing-sizes: $inuit-spacing-sizes !default;
 *
 * BUT BE AWARE: This can generate a huge chunk of extra CSS, depending on the
 * amount of breakpoints you defined. So please check your CSS’ output and
 * filesize!
 */
/* stylelint-disable max-nesting-depth */
@media (min-width: 20em) {
  .u-padding-tiny\@mobile {
    padding: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-tiny\@tablet {
    padding: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-tiny\@desktop {
    padding: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-tiny\@wide {
    padding: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-small\@mobile {
    padding: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-small\@tablet {
    padding: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-small\@desktop {
    padding: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-small\@wide {
    padding: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-large\@mobile {
    padding: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-large\@tablet {
    padding: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-large\@desktop {
    padding: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-large\@wide {
    padding: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-huge\@mobile {
    padding: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-huge\@tablet {
    padding: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-huge\@desktop {
    padding: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-huge\@wide {
    padding: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-none\@mobile {
    padding: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-none\@tablet {
    padding: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-none\@desktop {
    padding: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-none\@wide {
    padding: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-top-tiny\@mobile {
    padding-top: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-top-tiny\@tablet {
    padding-top: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-top-tiny\@desktop {
    padding-top: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-top-tiny\@wide {
    padding-top: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-top-small\@mobile {
    padding-top: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-top-small\@tablet {
    padding-top: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-top-small\@desktop {
    padding-top: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-top-small\@wide {
    padding-top: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-top-large\@mobile {
    padding-top: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-top-large\@tablet {
    padding-top: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-top-large\@desktop {
    padding-top: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-top-large\@wide {
    padding-top: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-top-huge\@mobile {
    padding-top: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-top-huge\@tablet {
    padding-top: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-top-huge\@desktop {
    padding-top: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-top-huge\@wide {
    padding-top: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-top-none\@mobile {
    padding-top: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-top-none\@tablet {
    padding-top: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-top-none\@desktop {
    padding-top: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-top-none\@wide {
    padding-top: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-right-tiny\@mobile {
    padding-right: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-right-tiny\@tablet {
    padding-right: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-right-tiny\@desktop {
    padding-right: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-right-tiny\@wide {
    padding-right: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-right-small\@mobile {
    padding-right: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-right-small\@tablet {
    padding-right: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-right-small\@desktop {
    padding-right: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-right-small\@wide {
    padding-right: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-right-large\@mobile {
    padding-right: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-right-large\@tablet {
    padding-right: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-right-large\@desktop {
    padding-right: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-right-large\@wide {
    padding-right: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-right-huge\@mobile {
    padding-right: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-right-huge\@tablet {
    padding-right: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-right-huge\@desktop {
    padding-right: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-right-huge\@wide {
    padding-right: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-right-none\@mobile {
    padding-right: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-right-none\@tablet {
    padding-right: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-right-none\@desktop {
    padding-right: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-right-none\@wide {
    padding-right: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-bottom-tiny\@mobile {
    padding-bottom: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-bottom-tiny\@tablet {
    padding-bottom: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-bottom-tiny\@desktop {
    padding-bottom: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-bottom-tiny\@wide {
    padding-bottom: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-bottom-small\@mobile {
    padding-bottom: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-bottom-small\@tablet {
    padding-bottom: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-bottom-small\@desktop {
    padding-bottom: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-bottom-small\@wide {
    padding-bottom: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-bottom-large\@mobile {
    padding-bottom: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-bottom-large\@tablet {
    padding-bottom: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-bottom-large\@desktop {
    padding-bottom: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-bottom-large\@wide {
    padding-bottom: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-bottom-huge\@mobile {
    padding-bottom: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-bottom-huge\@tablet {
    padding-bottom: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-bottom-huge\@desktop {
    padding-bottom: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-bottom-huge\@wide {
    padding-bottom: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-bottom-none\@mobile {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-bottom-none\@tablet {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-bottom-none\@desktop {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-bottom-none\@wide {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-left-tiny\@mobile {
    padding-left: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-left-tiny\@tablet {
    padding-left: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-left-tiny\@desktop {
    padding-left: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-left-tiny\@wide {
    padding-left: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-left-small\@mobile {
    padding-left: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-left-small\@tablet {
    padding-left: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-left-small\@desktop {
    padding-left: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-left-small\@wide {
    padding-left: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-left-large\@mobile {
    padding-left: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-left-large\@tablet {
    padding-left: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-left-large\@desktop {
    padding-left: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-left-large\@wide {
    padding-left: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-left-huge\@mobile {
    padding-left: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-left-huge\@tablet {
    padding-left: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-left-huge\@desktop {
    padding-left: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-left-huge\@wide {
    padding-left: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-left-none\@mobile {
    padding-left: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-left-none\@tablet {
    padding-left: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-left-none\@desktop {
    padding-left: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-left-none\@wide {
    padding-left: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-horizontal-tiny\@mobile {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-horizontal-tiny\@tablet {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-horizontal-tiny\@desktop {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-horizontal-tiny\@wide {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-horizontal-small\@mobile {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-horizontal-small\@tablet {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-horizontal-small\@desktop {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-horizontal-small\@wide {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-horizontal-large\@mobile {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-horizontal-large\@tablet {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-horizontal-large\@desktop {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-horizontal-large\@wide {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-horizontal-huge\@mobile {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-horizontal-huge\@tablet {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-horizontal-huge\@desktop {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-horizontal-huge\@wide {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-horizontal-none\@mobile {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-horizontal-none\@tablet {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-horizontal-none\@desktop {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-horizontal-none\@wide {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-padding-vertical-tiny\@mobile {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-vertical-tiny\@tablet {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-vertical-tiny\@desktop {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-vertical-tiny\@wide {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-vertical-small\@mobile {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-vertical-small\@tablet {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-vertical-small\@desktop {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-vertical-small\@wide {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-vertical-large\@mobile {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-vertical-large\@tablet {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-vertical-large\@desktop {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-vertical-large\@wide {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-vertical-huge\@mobile {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-vertical-huge\@tablet {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-vertical-huge\@desktop {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-vertical-huge\@wide {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-padding-vertical-none\@mobile {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-padding-vertical-none\@tablet {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-padding-vertical-none\@desktop {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-padding-vertical-none\@wide {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-tiny\@mobile {
    margin: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-tiny\@tablet {
    margin: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-tiny\@desktop {
    margin: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-tiny\@wide {
    margin: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-small\@mobile {
    margin: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-small\@tablet {
    margin: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-small\@desktop {
    margin: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-small\@wide {
    margin: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-large\@mobile {
    margin: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-large\@tablet {
    margin: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-large\@desktop {
    margin: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-large\@wide {
    margin: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-huge\@mobile {
    margin: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-huge\@tablet {
    margin: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-huge\@desktop {
    margin: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-huge\@wide {
    margin: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-none\@mobile {
    margin: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-none\@tablet {
    margin: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-none\@desktop {
    margin: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-none\@wide {
    margin: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-top-tiny\@mobile {
    margin-top: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-top-tiny\@tablet {
    margin-top: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-top-tiny\@desktop {
    margin-top: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-top-tiny\@wide {
    margin-top: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-top-small\@mobile {
    margin-top: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-top-small\@tablet {
    margin-top: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-top-small\@desktop {
    margin-top: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-top-small\@wide {
    margin-top: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-top-large\@mobile {
    margin-top: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-top-large\@tablet {
    margin-top: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-top-large\@desktop {
    margin-top: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-top-large\@wide {
    margin-top: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-top-huge\@mobile {
    margin-top: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-top-huge\@tablet {
    margin-top: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-top-huge\@desktop {
    margin-top: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-top-huge\@wide {
    margin-top: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-top-none\@mobile {
    margin-top: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-top-none\@tablet {
    margin-top: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-top-none\@desktop {
    margin-top: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-top-none\@wide {
    margin-top: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-right-tiny\@mobile {
    margin-right: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-right-tiny\@tablet {
    margin-right: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-right-tiny\@desktop {
    margin-right: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-right-tiny\@wide {
    margin-right: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-right-small\@mobile {
    margin-right: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-right-small\@tablet {
    margin-right: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-right-small\@desktop {
    margin-right: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-right-small\@wide {
    margin-right: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-right-large\@mobile {
    margin-right: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-right-large\@tablet {
    margin-right: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-right-large\@desktop {
    margin-right: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-right-large\@wide {
    margin-right: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-right-huge\@mobile {
    margin-right: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-right-huge\@tablet {
    margin-right: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-right-huge\@desktop {
    margin-right: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-right-huge\@wide {
    margin-right: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-right-none\@mobile {
    margin-right: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-right-none\@tablet {
    margin-right: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-right-none\@desktop {
    margin-right: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-right-none\@wide {
    margin-right: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-bottom-tiny\@mobile {
    margin-bottom: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-bottom-tiny\@tablet {
    margin-bottom: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-bottom-tiny\@desktop {
    margin-bottom: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-bottom-tiny\@wide {
    margin-bottom: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-bottom-small\@mobile {
    margin-bottom: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-bottom-small\@tablet {
    margin-bottom: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-bottom-small\@desktop {
    margin-bottom: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-bottom-small\@wide {
    margin-bottom: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-bottom-large\@mobile {
    margin-bottom: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-bottom-large\@tablet {
    margin-bottom: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-bottom-large\@desktop {
    margin-bottom: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-bottom-large\@wide {
    margin-bottom: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-bottom-huge\@mobile {
    margin-bottom: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-bottom-huge\@tablet {
    margin-bottom: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-bottom-huge\@desktop {
    margin-bottom: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-bottom-huge\@wide {
    margin-bottom: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-bottom-none\@mobile {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-bottom-none\@tablet {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-bottom-none\@desktop {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-bottom-none\@wide {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-left-tiny\@mobile {
    margin-left: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-left-tiny\@tablet {
    margin-left: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-left-tiny\@desktop {
    margin-left: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-left-tiny\@wide {
    margin-left: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-left-small\@mobile {
    margin-left: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-left-small\@tablet {
    margin-left: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-left-small\@desktop {
    margin-left: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-left-small\@wide {
    margin-left: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-left-large\@mobile {
    margin-left: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-left-large\@tablet {
    margin-left: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-left-large\@desktop {
    margin-left: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-left-large\@wide {
    margin-left: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-left-huge\@mobile {
    margin-left: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-left-huge\@tablet {
    margin-left: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-left-huge\@desktop {
    margin-left: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-left-huge\@wide {
    margin-left: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-left-none\@mobile {
    margin-left: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-left-none\@tablet {
    margin-left: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-left-none\@desktop {
    margin-left: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-left-none\@wide {
    margin-left: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-horizontal-tiny\@mobile {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-horizontal-tiny\@tablet {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-horizontal-tiny\@desktop {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-horizontal-tiny\@wide {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-horizontal-small\@mobile {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-horizontal-small\@tablet {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-horizontal-small\@desktop {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-horizontal-small\@wide {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-horizontal-large\@mobile {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-horizontal-large\@tablet {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-horizontal-large\@desktop {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-horizontal-large\@wide {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-horizontal-huge\@mobile {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-horizontal-huge\@tablet {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-horizontal-huge\@desktop {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-horizontal-huge\@wide {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-horizontal-none\@mobile {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-horizontal-none\@tablet {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-horizontal-none\@desktop {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-horizontal-none\@wide {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 20em) {
  .u-margin-vertical-tiny\@mobile {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-vertical-tiny\@tablet {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-vertical-tiny\@desktop {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-vertical-tiny\@wide {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-vertical-small\@mobile {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-vertical-small\@tablet {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-vertical-small\@desktop {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-vertical-small\@wide {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-vertical-large\@mobile {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-vertical-large\@tablet {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-vertical-large\@desktop {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-vertical-large\@wide {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-vertical-huge\@mobile {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-vertical-huge\@tablet {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-vertical-huge\@desktop {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-vertical-huge\@wide {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
}
@media (min-width: 20em) {
  .u-margin-vertical-none\@mobile {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 46.25em) {
  .u-margin-vertical-none\@tablet {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 61.25em) {
  .u-margin-vertical-none\@desktop {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 81.25em) {
  .u-margin-vertical-none\@wide {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
/* stylelint-enable max-nesting-depth */
/* ==========================================================================
   #PRINT
   ========================================================================== */
/**
 * Very crude, reset-like styles taken from the HTML5 Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/5.3.0/dist/doc/css.md#print-styles
 * https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css#L205-L282
 */
@media print {
  /**
   * 1. Black prints faster: http://www.sanbeiji.com/archives/953
   */
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* [1] */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /**
   * Don’t show links that are fragment identifiers, or use the `javascript:`
   * pseudo protocol.
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /**
   * Printing Tables: http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* ==========================================================================
   #HIDE
   ========================================================================== */
/**
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.u-hidden-visually {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/**
 * Hide visually and from screen readers.
 */
.u-hidden {
  display: none !important;
}

/* ==========================================================================
   #BUTTONS
   ========================================================================== */
/**
 * This is an example component. Extend inuitcss by building your own components
 * that make up your UI. Component classes are prefixed with a `c-`.
 */
/**
 * 1. Allow us to style box model properties.
 * 2. Line different sized buttons up a little nicer.
 * 3. Make buttons inherit font styles (often necessary when styling `input`s as
 *    buttons).
 * 4. Reset/normalize some styles.
 * 5. Force all button-styled elements to appear clickable.
 */
.c-btn {
  display: inline-block; /* [1] */
  vertical-align: middle; /* [2] */
  font: inherit; /* [3] */
  text-align: center; /* [4] */
  margin: 0; /* [4] */
  cursor: pointer; /* [5] */
  padding: 12px 24px;
  transition: all 300ms ease-in-out;
  border-radius: 3px;
  border: none;
}

/* Style variants
   ========================================================================== */
.c-btn--primary {
  background-color: #4a8ec2;
}
.c-btn--primary, .c-btn--primary:hover, .c-btn--primary:active, .c-btn--primary:focus {
  text-decoration: none; /* [4] */
  color: #fff;
}
.c-btn--primary:hover, .c-btn--primary:focus {
  background-color: #3774a2;
}

.c-btn--secondary {
  background-color: #2f4054;
}
.c-btn--secondary, .c-btn--secondary:hover, .c-btn--secondary:active, .c-btn--secondary:focus {
  text-decoration: none;
  color: #fff;
}
.c-btn--secondary:hover, .c-btn--secondary:focus {
  background-color: #1d2733;
}

.c-btn--tertiary {
  background-color: #fff;
  color: #4a8ec2;
}
.c-btn--tertiary, .c-btn--tertiary:hover, .c-btn--tertiary:active, .c-btn--tertiary:focus {
  text-decoration: none;
  color: #4a8ec2;
}
.c-btn--tertiary:hover, .c-btn--tertiary:focus {
  color: #3774a2;
}

.c-btn--danger {
  color: white;
}
.c-btn--danger, .c-btn--danger:hover, .c-btn--danger:active, .c-btn--danger:focus {
  background-color: #FF101F;
  text-decoration: none;
  color: white;
}
.c-btn--danger:hover, .c-btn--danger:focus {
  background-color: #8C0911;
  color: white;
}

/* Size variants
   ========================================================================== */
.c-btn--small {
  padding: 6px 12px;
}

.c-btn--large {
  padding: 24px 48px;
}

/* Ghost buttons
   ========================================================================== */
/**
 * Ghost buttons have see-through backgrounds and are bordered.
 */
.e-shared-links a {
  width: 100%;
  font-size: 14px;
  text-align: center;
  padding: 11px 23px;
}
.e-shared-links a, .e-shared-links a:hover, .e-shared-links a:active, .e-shared-links a:focus {
  background: none;
}

.c-btn--ghost {
  border: 1px solid currentColor;
  padding: 11px 23px;
}
.c-btn--ghost, .c-btn--ghost:hover, .c-btn--ghost:active, .c-btn--ghost:focus {
  background: none;
}
.c-btn--ghost.c-btn--small {
  padding: 5px 11px;
}
.c-btn--ghost.c-btn--large {
  padding: 23px 47px;
}
.c-btn--ghost.c-btn--primary {
  color: #4a8ec2;
}
.c-btn--ghost.c-btn--primary:hover, .c-btn--ghost.c-btn--primary:focus {
  color: #3774a2;
}
.c-btn--ghost.c-btn--secondary {
  color: #2f4054;
}
.c-btn--ghost.c-btn--secondary:hover, .c-btn--ghost.c-btn--secondary:focus {
  color: #1d2733;
}
.c-btn--ghost.c-btn--tertiary {
  color: #fff;
}
.c-btn--ghost.c-btn--tertiary:hover, .c-btn--ghost.c-btn--tertiary:focus {
  color: #fff;
}

.c-btn--icon {
  display: inline-flex;
}

.c-btn--wide {
  width: 100%;
}

.input--default, select {
  height: 48px;
  border-radius: 3px;
  border: solid 1px #e4e4e4;
  background: #efefef;
  box-shadow: none;
  padding-right: 8px;
  padding-left: 8px;
  min-width: 260px;
  font-size: 18px;
}
.input--default::-moz-placeholder, select::-moz-placeholder {
  font-size: 18px;
}
.input--default::placeholder, select::placeholder {
  font-size: 18px;
}
.input--default::focus, select::focus {
  outline: solid 2px rgba(101, 187, 255, 0.4196078431);
  outline-color: rgba(101, 187, 255, 0.42);
  outline-style: solid;
  outline-width: 2px;
  border-radius: 4px;
}

.input--sign-in {
  border: none;
  background: #efefef;
  min-width: 100%;
}

select {
  min-width: 360px;
}

/*
.assignment-index--grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
*/
c-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
c-grid:after {
  content: "";
  flex: 1 1 100%;
  max-width: 32%;
}

c-row {
  display: flex;
  flex-direction: column;
}

/*
.assignment-index--card {
    border: solid 1px #e4e4e4;
    border-radius: $global-radius;
    box-shadow: 1px 1px 4px #e4e4e4;
    background: white;
    width: 32%;
}
*/
c-card {
  border: solid 1px #e4e4e4;
  border-radius: 3px;
  box-shadow: 1px 1px 4px #e4e4e4;
  background: white;
  width: 32%;
}

c-card--wide {
  border: solid 1px #e4e4e4;
  border-radius: 3px;
  box-shadow: 1px 1px 4px #e4e4e4;
  background: white;
  width: 100%;
}

.framed-qa {
  margin-top: 1.4em;
  border-top: solid 1px #e4e4e4;
}

.material-icons.md-18 {
  font-size: 18px;
}

.material-icons.md-24 {
  font-size: 24px;
}

.material-icons.md-36 {
  font-size: 36px;
}

.material-icons.md-48 {
  font-size: 48px;
}

.material-icons-grey {
  color: rgba(0, 0, 0, 0.54);
}

nav {
  color: #008cbf;
  width: 100%;
  height: 80px;
  line-height: 80px;
  border-bottom: 1px solid rgb(228, 228, 228);
}
nav a {
  color: #008cbf;
}
nav .nav-wrapper {
  position: relative;
  height: 100%;
}
nav .brand-logo {
  position: absolute;
  color: #008cbf;
  display: inline-block;
  font-size: 1.2rem;
  padding: 0;
  text-decoration: none;
}
@media (min-width: 46.25em) {
  nav .brand-logo {
    font-size: 2.1rem;
  }
}
nav .nav-title {
  display: inline-block;
  font-size: 32px;
  padding: 28px 0;
}
nav ul {
  margin: 0;
}
nav ul.right {
  float: right;
}
nav ul li {
  margin-top: 0.1rem;
  transition: background-color 0.1s;
  float: left;
  padding: 0;
  text-transform: uppercase;
}
@media (min-width: 46.25em) {
  nav ul li {
    margin-top: auto;
  }
}
nav ul a {
  transition: background-color 0.3s;
  font-size: 0.86rem;
  padding: 0 4px;
  color: #008cbf;
  display: block;
  cursor: pointer;
  text-decoration: none;
}
@media (min-width: 46.25em) {
  nav ul a {
    font-size: 1rem;
    padding: 0 15px;
  }
}
nav ul a.active {
  background-color: #f5fcff;
  border-bottom: solid 1px #008cbf;
}
nav ul a:hover {
  background-color: #f5fcff;
  border-bottom: solid 1px #008cbf;
}
nav.left {
  float: left;
}

footer {
  background-color: #008cbf;
}

.c-footer-text--color {
  color: white;
}

.c-footer-container {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.c-footer-list {
  flex: 1 1 auto;
  color: white;
  margin-left: 0px;
}

.c-footer-links {
  color: white;
  text-decoration: none;
}

.c-landingpage {
  border-radius: 3px;
  border: 1px solid #e4e4e4;
  box-shadow: 1px 1px 4px #e4e4e4;
}
@media (min-width: 46.25em) {
  .c-landingpage {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
  }
}

.c-landingpage-welcome-left {
  display: flex;
  flex: 3;
  background-color: #008cbf;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.c-landingpage-welcome-left h1, .c-landingpage-welcome-left h3 {
  color: white;
}

.c-landingpage-welcome-right {
  flex: 2;
}
.o-label--remember {
  font-size: 14px;
}

.e-shared-links {
  width: 100%;
  font-size: 14px;
  text-align: center;
}

a {
  color: #008cbf;
  text-decoration: none;
}

.c-link--cancel, .c-link--delete {
  color: #585858;
}

.questionarie-header-container {
  display: block;
}

.questionnaire-guide {
  display: flex;
  align-items: center;
  background-color: #f1f3f4;
  border-radius: 3px;
}

span.question-number-count {
  border-bottom: 2px solid #009dc9;
}

span.question-number-total {
  border-bottom: 2px solid #009dc9;
}

c-card--info {
  border: solid 1px #f1f3f4;
  border-radius: 3px;
  box-shadow: none;
  background: #f1f3f4;
  width: 32%;
}

.c-view--forgot-password {
  display: flex;
  border-radius: 3px;
  border: 1px solid #e4e4e4;
  box-shadow: 1px 1px 4px #e4e4e4;
}

.c-view--forgot-password-left {
  flex: 3;
  background-color: #008cbf;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-view--forgot-password-left h2, .c-view--forgot-password-left p, .c-view--forgot-password-left strong {
  color: white;
}

.c-view--forgot-password-right {
  flex: 2;
}

/*
Displaying notifications, we don't distinguish between notifications and alerts
triggered from  <%= notice %> and  <%= alert %> 
*/
#notifications-container {
  display: block;
  position: fixed;
  z-index: 10000;
  top: 64px;
}

.c-notifications--notice, .c-notifications--alert {
  width: auto;
  position: relative;
  max-width: 100%;
  height: auto;
  line-height: 1.5em;
  background: #585858;
  color: white;
  padding: 10px 25px;
  font-size: 1.1rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 300ms ease-in-out;
  border-radius: 9999px;
}

/*
*  Mobile user will only be eposed to:
*  - Login/out
*  - Reset password
*  - daily submits
*  - View graph
*/
.hide-for-mobile {
  display: none;
}
@media (min-width: 46.25em) {
  .hide-for-mobile {
    display: block;
  }
}

* {
  font-family: "Roboto Condensed", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-size: 1.25em;
}

.wide {
  width: 100%;
}

.column-questions {
  display: flex;
  flex-direction: column;
}

.row-questions {
  display: flex;
  line-height: 30px;
  margin: 16px 4px 16px 4px;
}

.column-questions-keys {
  min-height: 40px;
  min-width: 32px;
  line-height: 40px;
}

.column-questions-response {
  min-height: 40px;
  min-width: 70%;
  line-height: 40px;
}

.column-questions-radio-buttons {
  min-height: 40px;
  min-width: 10%;
  line-height: 40px;
}

/* Typography*/
h3 {
  text-decoration: underline;
}

.column-questions-response:after {
  content: "";
  display: block;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin: 0 -20px 0 -32px;
}

.login-box--foo {
  margin-top: 10vh;
}

.c-theme-border--light {
  color: rgba(0, 0, 0, 0.15);
}

.response-selected {
  border: solid black 1px;
  padding: 5px;
  border-radius: 100%;
}

input:focus {
  outline: solid 2px rgba(101, 187, 255, 0.4196078431);
  border-radius: 4px;
}

.c-view--forgot-password-left p a {
  color: white;
  text-decoration-line: underline;
}

.nav-wrapper a img {
  max-height: 64px;
}

.c-landingpage p a {
  color: white;
}

th, td {
  border: solid black 1px;
}

input[type=radio] {
  width: 24px;
  height: 24px;
}

#chart_lines {
  margin-top: -24px;
}

.measurements-graph h3 {
  margin-top: 32px;
}

@media print {
  .hide-on-print {
    display: none;
  }
}

@media screen {
  .hide-on-screen {
    display: none;
  }
}

@media print {
  header, footer, #console {
    display: none;
  }
}

@media screen {
  .question-with-response {
    padding-bottom: 32px;
  }
}

.bar-0 {
  position: relative;
  min-height: 15px;
  background-image: linear-gradient(to right, green, yellow, red);
  width: 240px;
}

.bar-0 .reading {
  width: 4px;
  background-color: black;
  min-height: 15px;
}

@media print {
  * {
    font-size: small !important;
  }
  h2 {
    font-size: 16pt !important;
    line-height: 16pt !important;
    margin-top: 16pt !important;
  }
  h3 {
    font-size: 12pt !important;
    line-height: 12pt !important;
    margin-bottom: 2pt !important;
  }
  .u-margin-top-large {
    margin-top: 8pt !important;
  }
  .question-with-response {
    padding-bottom: 8pt !important;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIscUVBQXFFO0FBQ3JFLG1FQUFtRTtBQUNuRSxzRUFBc0U7QUFDdEU7OytFQUUrRTtBQUMvRTs7OztFQUlFO0FBQ0Y7Ozs7RUFJRTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBMERFO0FBQ0Y7OytFQUUrRTtBQUMvRTs7O0VBR0U7QUFDRjtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQSwyRUFBMkU7QUFDM0U7K0VBQytFO0FBQy9FOzs7O0VBSUU7QUFDRjtFQUNFLGlCQUFpQixFQUFFLE1BQU07RUFDekIsMEJBQTBCLEVBQUUsTUFBTTtFQUNsQyw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDOztBQUVBOytFQUMrRTtBQUMvRTs7RUFFRTtBQUNGO0VBQ0UsU0FBUztBQUNYOztBQUVBOztFQUVFO0FBQ0Y7Ozs7OztFQU1FLGNBQWM7QUFDaEI7O0FBRUE7OztFQUdFO0FBQ0Y7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBOytFQUMrRTtBQUMvRTs7O0VBR0U7QUFDRjs7T0FFTyxNQUFNO0VBQ1gsY0FBYztBQUNoQjs7QUFFQTs7RUFFRTtBQUNGO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBOzs7RUFHRTtBQUNGO0VBQ0UsdUJBQXVCLEVBQUUsTUFBTTtFQUMvQixTQUFTLEVBQUUsTUFBTTtFQUNqQixpQkFBaUIsRUFBRSxNQUFNO0FBQzNCOztBQUVBOzs7RUFHRTtBQUNGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFFQTsrRUFDK0U7QUFDL0U7OztFQUdFO0FBQ0Y7RUFDRSw2QkFBNkIsRUFBRSxNQUFNO0VBQ3JDLHFDQUFxQyxFQUFFLE1BQU07QUFD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QkFBcUI7RUFDdkI7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7SUFDNUIsNkJBQTZCO0VBQy9CO0FB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QTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usd0JBQXdCO0VBQzFCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usd0JBQXdCO0VBQzFCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usd0JBQXdCO0VBQzFCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0Usd0JBQXdCO0VBQzFCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0lBQzNCLDRCQUE0QjtFQUM5QjtBQUNGO0FBQ0E7RUFDRTtJQUNFLDJCQUEyQjtJQUMzQiw0QkFBNEI7RUFDOUI7QUFDRjtBQUNBO0VBQ0U7SUFDRSwyQkFBMkI7SUFDM0IsNEJBQTRCO0VBQzlCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0lBQzNCLDRCQUE0QjtFQUM5QjtBQUNGO0FBQ0E7RUFDRTtJQUNFLDRCQUE0QjtJQUM1Qiw2QkFBNkI7RUFDL0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7SUFDNUIsNkJBQTZCO0VBQy9CO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsNEJBQTRCO0lBQzVC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Q1osbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usb0RBQW9EO0VBQ3BELGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFlBQVk7RUFDWiwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGFBQWE7RUFDZjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxvQkFBb0I7RUFDdEI7QUFDRjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsK0RBQStEO0VBQy9ELFlBQVk7QUFDZDs7QUFFQTtFQUNFLFVBQVU7RUFDVix1QkFBdUI7RUFDdkIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0VBQzdCO0VBQ0E7SUFDRSwwQkFBMEI7SUFDMUIsNEJBQTRCO0lBQzVCLDZCQUE2QjtFQUMvQjtFQUNBO0lBQ0UsMEJBQTBCO0VBQzVCO0VBQ0E7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRiIsImZpbGUiOiJhcHBsaWNhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86NDAwLDcwMFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxhdG86NDAwLDcwMFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29uc1wiKTtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTlVJVENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogaW51aXRjc3MsIGJ5IEBjc3N3aXphcmRyeVxuICpcbiAqIGdpdGh1Yi5jb20vaW51aXRjc3MgfCBpbnVpdGNzcy5jb21cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgaW51aXRjc3MgbWFuaWZlc3QgZmlsZS4gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgRElSRUNUTFkuXG4gKiBJbnN0ZWFkLCBjb3B5IGFuZCBwYXN0ZSBpdCBpbnRvIHlvdXIgb3duIENTUyBkaXJlY3RvcnkgYW5kIG1ha2UgYWRkaXRpb25zLFxuICogZXh0ZW5zaW9ucywgYW5kIG1vZGlmaWNhdGlvbnMgdGhlcmUuXG4gKi9cbi8qKlxuICogQ09OVEVOVFNcbiAqXG4gKiBTRVRUSU5HU1xuICogQ29uZmlnLi4uLi4uLi4uLi4uLi4uUHJvamVjdC1sZXZlbCBjb25maWd1cmF0aW9uIGFuZCBmZWF0dXJlIHN3aXRjaGVzLlxuICogQ29yZS4uLi4uLi4uLi4uLi4uLi4uaW51aXRjc3PigJkgY29yZSBhbmQgc2V0dXAgc2V0dGluZ3MuXG4gKiBHbG9iYWwuLi4uLi4uLi4uLi4uLi5Qcm9qZWN0LXdpZGUgdmFyaWFibGVzIGFuZCBzZXR0aW5ncy5cbiAqXG4gKiBUT09MU1xuICogRm9udC1zaXplLi4uLi4uLi4uLi4uQSBtaXhpbiB3aGljaCBndWFyYW50ZWVzIGJhc2VsaW5lLWZyaWVuZGx5IGxpbmUtaGVpZ2h0cy5cbiAqIENsZWFyZml4Li4uLi4uLi4uLi4uLk1pY3JvIGNsZWFyZml4IG1peGluLlxuICogSGlkZGVuLi4uLi4uLi4uLi4uLi4uTWl4aW4gZm9yIGhpZGluZyBlbGVtZW50cy5cbiAqIFNhc3MgTVEuLi4uLi4uLi4uLi4uLmludWl0Y3Nz4oCZIGRlZmF1bHQgbWVkaWEgcXVlcnkgbWFuYWdlci5cbiAqXG4gKiBHRU5FUklDXG4gKiBCb3gtc2l6aW5nLi4uLi4uLi4uLi5CZXR0ZXIgZGVmYXVsdCBgYm94LXNpemluZ2AuXG4gKiBOb3JtYWxpemUuY3NzLi4uLi4uLi5BIGxldmVsIHBsYXlpbmcgZmllbGQgdXNpbmcgQG5lY29sYXPigJkgTm9ybWFsaXplLmNzcy5cbiAqIFJlc2V0Li4uLi4uLi4uLi4uLi4uLkEgdGlueSByZXNldCB0byBjb21wbGVtZW50IE5vcm1hbGl6ZS5jc3MuXG4gKiBTaGFyZWQuLi4uLi4uLi4uLi4uLi5TZW5zaWJseSBhbmQgdGVyc2VseSBzaGFyZSBzb21lIGdsb2JhbCBjb21tb25hbGl0aWVzXG4gKiAgICAgICAgICAgICAgICAgICAgICAocGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIG1hbmFnaW5nIHZlcnRpY2FsIHJoeXRobSkuXG4gKlxuICogRUxFTUVOVFNcbiAqIFBhZ2UuLi4uLi4uLi4uLi4uLi4uLlNldCB1cCBvdXIgZG9jdW1lbnTigJlzIGRlZmF1bHQgYGZvbnQtc2l6ZWAgYW5kXG4gKiAgICAgICAgICAgICAgICAgICAgICBgbGluZS1oZWlnaHRgLlxuICogSGVhZGluZ3MuLi4uLi4uLi4uLi4uVmVyeSBtaW5pbWFsIChpLmUuIG9ubHkgZm9udC1zaXplIGluZm9ybWF0aW9uKSBmb3JcbiAqICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzIDEgdGhyb3VnaCA2LlxuICogSW1hZ2VzLi4uLi4uLi4uLi4uLi4uQmFzZSBpbWFnZSBzdHlsZXMuXG4gKiBUYWJsZXMuLi4uLi4uLi4uLi4uLi5TaW1wbGUgdGFibGUgc3R5bGVzLlxuICpcbiAqIE9CSkVDVFNcbiAqIFdyYXBwZXIuLi4uLi4uLi4uLi4uLlBhZ2UgY29uc3RyYWludCBvYmplY3QuXG4gKiBMYXlvdXQuLi4uLi4uLi4uLi4uLi5HZW5lcmljIGxheW91dCBtb2R1bGUuXG4gKiBNZWRpYS4uLi4uLi4uLi4uLi4uLi5JbWFnZS0gYW5kIHRleHQtbGlrZSBjb250ZW50IHNpZGUgYnkgc2lkZS4gVGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICBwb3N0ZXItY2hpbGQgb2YgT09DU1MuXG4gKiBGbGFnLi4uLi4uLi4uLi4uLi4uLi5UYWJsZS1sYXlvdXQtYmFzZWQgYWR2YW5jZW1lbnQgb24gdGhlIE1lZGlhIG9iamVjdC5cbiAqIExpc3QtYmFyZS4uLi4uLi4uLi4uLkxpc3RzIHdpdGggbm8gYnVsbGV0cyBvciBpbmRlbnRzLlxuICogTGlzdC1pbmxpbmUuLi4uLi4uLi4uQSBsaXN0IHdob3NlIGl0ZW1zIGFsbCBzaXRlIGluIGEgbGluZS5cbiAqIEJveC4uLi4uLi4uLi4uLi4uLi4uLlNpbXBsZSBib3hpbmcgYWJzdHJhY3Rpb24uXG4gKiBCbG9jay4uLi4uLi4uLi4uLi4uLi5JbWFnZS1vbi10b3Atb2YtdGV4dCBvYmplY3QuXG4gKiBSYXRpby4uLi4uLi4uLi4uLi4uLi5BIGNvbnRhaW5lciBmb3IgbWFpbnRhaW5pbmcgYXNwZWN0IHJhdGlvIG9mIGNvbnRlbnQuXG4gKiBDcm9wLi4uLi4uLi4uLi4uLi4uLi5Qcm92aWRlIGEgY3JvcHBpbmcgY29udGV4dCBmb3IgbWVkaWEgKGltYWdlcywgZXRjLikuXG4gKiBUYWJsZS4uLi4uLi4uLi4uLi4uLi5DbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgYHRhYmxlYHMuXG4gKiBQYWNrLi4uLi4uLi4uLi4uLi4uLi5QYWNrIGl0ZW1zIGludG8gYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UuXG4gKlxuICogQ09NUE9ORU5UU1xuICogQnV0dG9ucy4uLi4uLi4uLi4uLi4uQW4gZXhhbXBsZSBidXR0b24gY29tcG9uZW50LCBhbmQgaG93IGl0IGZpdHMgaW50byB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgIGludWl0Y3NzIGZyYW1ld29yay5cbiAqXG4gKiBVVElMSVRJRVNcbiAqIENsZWFyZml4Li4uLi4uLi4uLi4uLkJpbmQgb3VyIGNsZWFyZml4IG9udG8gYSB1dGlsaXR5IGNsYXNzLlxuICogV2lkdGhzLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHdpZHRoIGhlbHBlciBjbGFzc2VzLlxuICogSGVhZGluZ3MuLi4uLi4uLi4uLi4uUmVhc3NpZ25pbmcgb3VyIGhlYWRpbmcgc3R5bGVzIHRvIGhlbHBlciBjbGFzc2VzLlxuICogU3BhY2luZ3MuLi4uLi4uLi4uLi4uTnVkZ2UgYml0cyBvZiB0aGUgRE9NIGFyb3VuZCB3aXRoIHRoZXNlIHNwYWNpbmdcbiAqICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuXG4gKiBSZXNwb25zaXZlLVNwYWNpbmdzLi5FbmhhbmNlcyB0aGUgZnVuY3Rpb24gb2Ygbm9ybWFsIHNwYWNpbmdzIGZvclxuICogICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZSB1c2FnZS5cbiAqIFByaW50Li4uLi4uLi4uLi4uLi4uLlJlc2V0LWxpa2Ugc3R5bGVzIHRha2VuIGZyb20gdGhlIEhUTUw1IEJvaWxlcnBsYXRlLlxuICogSGlkZS4uLi4uLi4uLi4uLi4uLi4uSGVscGVyIGNsYXNzZXMgdG8gaGlkZSBjb250ZW50XG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQk9YLVNJWklOR1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveC1zaXppbmc6XG4gKiBjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5lbSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFVudGlsIHdlIGhhdmUgYSBkZXNpZ24gcmVjaXBlIGZvciBmb2N1cyBzdGF0ZXNcbiAqIHJlbW92ZSB0aGUgZ2VuZXJpYyBmb2N1cyBvdXRsaW5lXG4gKi9cbmlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSRVNFVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQSB2ZXJ5IHNpbXBsZSByZXNldCB0aGF0IHNpdHMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MuXG4gKi9cbmJvZHksXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuYmxvY2txdW90ZSwgcCwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5maWd1cmUsXG5ocixcbmZpZWxkc2V0LCBsZWdlbmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRyYWlsaW5nIG1hcmdpbnMgZnJvbSBuZXN0ZWQgbGlzdHMuXG4gKi9cbmxpID4gb2wsXG5saSA+IHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB0YWJsZSBzcGFjaW5nLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlc2V0IENocm9tZSBhbmQgRmlyZWZveCBiZWhhdmlvdXIgd2hpY2ggc2V0cyBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2BcbiAqICAgIG9uIGZpZWxkc2V0cy5cbiAqL1xuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8qIFsxXSAqL1xuICBib3JkZXI6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjU0hBUkVEXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTaGFyZWQgZGVjbGFyYXRpb25zIGZvciBjZXJ0YWluIGVsZW1lbnRzLlxuICovXG4vKipcbiAqIEFsd2F5cyBkZWNsYXJlIG1hcmdpbnMgaW4gdGhlIHNhbWUgZGlyZWN0aW9uOlxuICogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDYvc2luZ2xlLWRpcmVjdGlvbi1tYXJnaW4tZGVjbGFyYXRpb25zXG4gKi9cbmFkZHJlc3MsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuYmxvY2txdW90ZSwgcCwgcHJlLFxuZGwsIG9sLCB1bCxcbmZpZ3VyZSxcbmhyLFxudGFibGUsXG5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi8qKlxuICogQ29uc2lzdGVudCBpbmRlbnRhdGlvbiBmb3IgbGlzdHMuXG4gKi9cbmRkLCBvbCwgdWwge1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTaW1wbGUgcGFnZS1sZXZlbCBzZXR1cC5cbiAqXG4gKiAxLiBTZXQgdGhlIGRlZmF1bHQgYGZvbnQtc2l6ZWAgYW5kIGBsaW5lLWhlaWdodGAgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCxcbiAqICAgIHNvdXJjZWQgZnJvbSBvdXIgZGVmYXVsdCB2YXJpYWJsZXMuIFRoZSBgZm9udC1zaXplYCBpcyBjYWxjdWxhdGVkIHRvIGV4aXN0XG4gKiAgICBpbiBlbXMsIHRoZSBgbGluZS1oZWlnaHRgIGlzIGNhbGN1bGF0ZWQgdG8gZXhpc3QgdW5pdGxlc3NseS5cbiAqIDIuIEZvcmNlIHNjcm9sbGJhcnMgdG8gYWx3YXlzIGJlIHZpc2libGUgdG8gcHJldmVudCBhd2t3YXJkIOKAmGp1bXBz4oCZIHdoZW5cbiAqICAgIG5hdmlnYXRpbmcgYmV0d2VlbiBwYWdlcyB0aGF0IGRvL2RvIG5vdCBoYXZlIGVub3VnaCBjb250ZW50IHRvIHByb2R1Y2VcbiAqICAgIHNjcm9sbGJhcnMgbmF0dXJhbGx5LlxuICogMy4gRW5zdXJlIHRoZSBwYWdlIGFsd2F5cyBmaWxscyBhdCBsZWFzdCB0aGUgZW50aXJlIGhlaWdodCBvZiB0aGUgdmlld3BvcnQuXG4gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDFlbTsgLyogWzFdICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIFsxXSAqL1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIFsyXSAqL1xuICBtaW4taGVpZ2h0OiAxMDAlOyAvKiBbM10gKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFESU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2ltcGxlIGRlZmF1bHQgc3R5bGVzIGZvciBoZWFkaW5ncyAxIHRocm91Z2ggNi4gQW55dGhpbmcgbW9yZSBvcGluaW9uYXRlZFxuICogdGhhbiBzaW1wbGUgZm9udC1zaXplIGNoYW5nZXMgc2hvdWxkIGxpa2VseSBiZSBhcHBsaWVkIHZpYSBjbGFzc2VzIChzZWU6XG4gKiBodHRwOi8vY3Nzd2l6YXJkcnkuY29tLzIwMTYvMDIvbWFuYWdpbmctdHlwb2dyYXBoeS1vbi1sYXJnZS1hcHBzLykuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcxNDI4NTc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODQpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyODU3O1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg0KTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0lNQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxuICogMi4gT2Zmc2V0IGBhbHRgIHRleHQgZnJvbSBzdXJyb3VuZGluZyBjb3B5LlxuICogMy4gU2V0dGluZyBgdmVydGljYWwtYWxpZ25gIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyIGBpbWdgXG4gKiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKiAgICB1c2luZyBgZGlzcGxheTogYmxvY2s7YC5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBbMV0gKi9cbiAgZm9udC1zdHlsZTogaXRhbGljOyAvKiBbMl0gKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzNdICovXG59XG5cbi8qKlxuICogSWYgYSBgd2lkdGhgIGFuZC9vciBgaGVpZ2h0YCBhdHRyaWJ1dGUgaGFzIGJlZW4gZXhwbGljaXRseSBkZWZpbmVkLCBsZXTigJlzXG4gKiBub3QgbWFrZSB0aGUgaW1hZ2UgZmx1aWQuXG4gKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XSB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEVuc3VyZSB0YWJsZXMgZmlsbCB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLlxuICovXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyAvKiBbMV0gKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNXUkFQUEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBQYWdlLWxldmVsIGNvbnN0cmFpbmluZyBhbmQgd3JhcHBpbmcgZWxlbWVudHMuXG4gKi9cbi5vLXdyYXBwZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLm8td3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5vLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICB9XG59XG5cbi5uYXYtd3JhcHBlciwgLmZvb3Rlci13cmFwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbi5uYXYtd3JhcHBlcjphZnRlciwgLmZvb3Rlci13cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0xBWU9VVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogR3JpZC1saWtlIGxheW91dCBzeXN0ZW0uXG4gKlxuICogVGhlIGxheW91dCBvYmplY3QgcHJvdmlkZXMgdXMgd2l0aCBhIGNvbHVtbi1zdHlsZSBsYXlvdXQgc3lzdGVtLiBUaGlzIGZpbGVcbiAqIGNvbnRhaW5zIHRoZSBiYXNpYyBzdHJ1Y3R1cmFsIGVsZW1lbnRzLCBidXQgY2xhc3NlcyBzaG91bGQgYmUgY29tcGxlbWVudGVkXG4gKiB3aXRoIHdpZHRoIHV0aWxpdGllcywgZm9yIGV4YW1wbGU6XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRcIj5cbiAqICAgICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRfX2l0ZW0gIHUtMS8yXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMlwiPlxuICogICAgIDwvZGl2PlxuICogICA8L2Rpdj5cbiAqXG4gKiBUaGUgYWJvdmUgd2lsbCBjcmVhdGUgYSB0d28tY29sdW1uIHN0cnVjdHVyZSBpbiB3aGljaCBlYWNoIGNvbHVtbiB3aWxsXG4gKiBmbHVpZGx5IGZpbGwgaGFsZiBvZiB0aGUgd2lkdGggb2YgdGhlIHBhcmVudC4gV2UgY2FuIGhhdmUgbW9yZSBjb21wbGV4XG4gKiBzeXN0ZW1zOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0XCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMSAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMiAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMiAgdS0xLzNAbWVkaXVtXCI+XG4gKiAgICAgPC9kaXY+XG4gKiAgIDwvZGl2PlxuICpcbiAqIFRoZSBhYm92ZSB3aWxsIGNyZWF0ZSBhIHN5c3RlbSBpbiB3aGljaCB0aGUgZmlyc3QgaXRlbSB3aWxsIGJlIDEwMCUgd2lkdGhcbiAqIHVudGlsIHdlIGVudGVyIG91ciBtZWRpdW0gYnJlYWtwb2ludCwgd2hlbiBpdCB3aWxsIGJlY29tZSAzMy4zMzMlIHdpZHRoLiBUaGVcbiAqIHNlY29uZCBhbmQgdGhpcmQgaXRlbXMgd2lsbCBiZSA1MCUgb2YgdGhlaXIgcGFyZW50LCB1bnRpbCB0aGV5IGFsc28gYmVjb21lXG4gKiAzMy4zMzMlIHdpZHRoIGF0IHRoZSBtZWRpdW0gYnJlYWtwb2ludC5cbiAqXG4gKiBXZSBjYW4gYWxzbyBtYW5pcHVsYXRlIGVudGlyZSBsYXlvdXQgc3lzdGVtcyBieSBhZGRpbmcgYSBzZXJpZXMgb2YgbW9kaWZpZXJzXG4gKiB0byB0aGUgYC5vLWxheW91dGAgYmxvY2suIEZvciBleGFtcGxlOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0ICBvLWxheW91dC0tcmV2ZXJzZVwiPlxuICpcbiAqIFRoaXMgd2lsbCByZXZlcnNlIHRoZSBkaXNwbGF5ZWQgb3JkZXIgb2YgdGhlIHN5c3RlbSBzbyB0aGF0IGl0IHJ1bnMgaW4gdGhlXG4gKiBvcHBvc2l0ZSBvcmRlciB0byBvdXIgc291cmNlLCBlZmZlY3RpdmVseSBmbGlwcGluZyB0aGUgc3lzdGVtIG92ZXIuXG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXQgIG8tbGF5b3V0LS1bcmlnaHR8Y2VudGVyXVwiPlxuICpcbiAqIFRoaXMgd2lsbCBjYXVzZSB0aGUgc3lzdGVtIHRvIGZpbGwgdXAgZnJvbSBlaXRoZXIgdGhlIGNlbnRyZSBvciB0aGUgcmlnaHRcbiAqIGhhbmQgc2lkZS4gRGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZmlsbCB1cCB0aGUgbGF5b3V0IHN5c3RlbSBmcm9tIHRoZSBsZWZ0LlxuICpcbiAqIFRoZXJlIGFyZSBwbGVudHkgbW9yZSBvcHRpb25zIGF2YWlsYWJsZSB0byB1czogZXhwbG9yZSB0aGVtIGJlbG93LlxuICovXG4vKiBEZWZhdWx0L21hbmRhdG9yeSBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBbGxvd3MgdXMgdG8gdXNlIHRoZSBsYXlvdXQgb2JqZWN0IG9uIGFueSB0eXBlIG9mIGVsZW1lbnQuXG4gKiAyLiBXZSBuZWVkIHRvIGRlZmVuc2l2ZWx5IHJlc2V0IGFueSBib3gtbW9kZWwgcHJvcGVydGllcy5cbiAqIDMuIFVzZSB0aGUgbmVnYXRpdmUgbWFyZ2luIHRyaWNrIGZvciBtdWx0aS1yb3cgZ3JpZHM6XG4gKiAgICBodHRwOi8vY3Nzd2l6YXJkcnkuY29tLzIwMTEvMDgvYnVpbGRpbmctYmV0dGVyLWdyaWQtc3lzdGVtcy9cbiAqL1xuLm8tbGF5b3V0IHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIFsxXSAqL1xuICBtYXJnaW46IDA7IC8qIFsyXSAqL1xuICBwYWRkaW5nOiAwOyAvKiBbMl0gKi9cbiAgbGlzdC1zdHlsZTogbm9uZTsgLyogWzFdICovXG4gIG1hcmdpbi1sZWZ0OiAtMjRweDsgLyogWzNdICovXG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZXF1aXJlZCBpbiBvcmRlciB0byBjb21iaW5lIGZsdWlkIHdpZHRocyB3aXRoIGZpeGVkIGd1dHRlcnMuXG4gKiAyLiBBbGxvd3MgdXMgdG8gbWFuaXB1bGF0ZSBncmlkcyB2ZXJ0aWNhbGx5LCB3aXRoIHRleHQtbGV2ZWwgcHJvcGVydGllcyxcbiAqICAgIGV0Yy5cbiAqIDMuIERlZmF1bHQgaXRlbSBhbGlnbm1lbnQgaXMgd2l0aCB0aGUgdG9wcyBvZiBlYWNoIG90aGVyLCBsaWtlIG1vc3RcbiAqICAgIHRyYWRpdGlvbmFsIGdyaWQvbGF5b3V0IHN5c3RlbXMuXG4gKiA0LiBCeSBkZWZhdWx0LCBhbGwgbGF5b3V0IGl0ZW1zIGFyZSBmdWxsLXdpZHRoIChtb2JpbGUgZmlyc3QpLlxuICogNS4gR3V0dGVycyBwcm92aWRlZCBieSBsZWZ0IHBhZGRpbmc6XG4gKiAgICBodHRwOi8vY3Nzd2l6YXJkcnkuY29tLzIwMTEvMDgvYnVpbGRpbmctYmV0dGVyLWdyaWQtc3lzdGVtcy9cbiAqIDYuIEZhbGxiYWNrIGZvciBvbGQgSUVzIG5vdCBzdXBwb3J0aW5nIGByZW1gIHZhbHVlcy5cbiAqL1xuLm8tbGF5b3V0X19pdGVtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogWzFdICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogWzJdICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIFszXSAqL1xuICB3aWR0aDogMTAwJTsgLyogWzRdICovXG4gIHBhZGRpbmctbGVmdDogMjRweDsgLyogWzVdICovXG4gIGZvbnQtc2l6ZTogMTZweDsgLyogWzZdICovXG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogR3V0dGVyIHNpemUgbW9kaWZpZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tbGF5b3V0LS1mbHVzaCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm8tbGF5b3V0LS1mbHVzaCA+IC5vLWxheW91dF9faXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLm8tbGF5b3V0LS10aW55IHtcbiAgbWFyZ2luLWxlZnQ6IC02cHg7XG59XG4uby1sYXlvdXQtLXRpbnkgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbn1cblxuLm8tbGF5b3V0LS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTJweDtcbn1cbi5vLWxheW91dC0tc21hbGwgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbi5vLWxheW91dC0tbGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogLTQ4cHg7XG59XG4uby1sYXlvdXQtLWxhcmdlID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4uby1sYXlvdXQtLWh1Z2Uge1xuICBtYXJnaW4tbGVmdDogLTk2cHg7XG59XG4uby1sYXlvdXQtLWh1Z2UgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG59XG5cbi8qIFZlcnRpY2FsIGFsaWdubWVudCBtb2RpZmllcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFsaWduIGFsbCBncmlkIGl0ZW1zIHRvIHRoZSBtaWRkbGVzIG9mIGVhY2ggb3RoZXIuXG4gKi9cbi5vLWxheW91dC0tbWlkZGxlID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqXG4gKiBBbGlnbiBhbGwgZ3JpZCBpdGVtcyB0byB0aGUgYm90dG9tcyBvZiBlYWNoIG90aGVyLlxuICovXG4uby1sYXlvdXQtLWJvdHRvbSA+IC5vLWxheW91dF9faXRlbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8qKlxuICogU3RyZXRjaCBhbGwgZ3JpZCBpdGVtcyBvZiBlYWNoIHJvdyB0byBoYXZlIGFuIGVxdWFsLWhlaWdodC5cbiAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoaXMgbW9kaWZpZXIgY2xhc3MgZG9lc27igJl0IHRha2UgYW55IGVmZmVjdCBpbiBJRTkgYW5kXG4gKiBiZWxvdyBhbmQgb3RoZXIgb2xkZXIgYnJvd3NlcnMgZHVlIHRvIHRoZSBsYWNrIG9mIGBkaXNwbGF5OiBmbGV4YCBzdXBwb3J0LlxuICovXG4uby1sYXlvdXQtLXN0cmV0Y2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uby1sYXlvdXQtLXN0cmV0Y2ggPiAuby1sYXlvdXRfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm8tbGF5b3V0LS1zdHJldGNoLm8tbGF5b3V0LS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5vLWxheW91dC0tc3RyZXRjaC5vLWxheW91dC0tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLm8tbGF5b3V0LS1zdHJldGNoLm8tbGF5b3V0LS1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4vKiBGaWxsIG9yZGVyIG1vZGlmaWVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRmlsbCB1cCB0aGUgbGF5b3V0IHN5c3RlbSBmcm9tIHRoZSBjZW50cmUuXG4gKi9cbi5vLWxheW91dC0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm8tbGF5b3V0LS1jZW50ZXIgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIEZpbGwgdXAgdGhlIGxheW91dCBzeXN0ZW0gZnJvbSB0aGUgcmlnaHQtaGFuZCBzaWRlLlxuICovXG4uby1sYXlvdXQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uby1sYXlvdXQtLXJpZ2h0ID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyoqXG4gKiBGaWxsIHVwIHRoZSBsYXlvdXQgc3lzdGVtIGZyb20gdGhlIGxlZnQtaGFuZCBzaWRlLiBUaGlzIHdpbGwgbGlrZWx5IG9ubHkgYmVcbiAqIG5lZWRlZCB3aGVuIHVzaW5nIGluIGNvbmp1bmN0aW9uIHdpdGggYC5vLWxheW91dC0tcmV2ZXJzZWAuXG4gKi9cbi5vLWxheW91dC0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uby1sYXlvdXQtLWxlZnQgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIFJldmVyc2UgdGhlIHJlbmRlcmVkIG9yZGVyIG9mIHRoZSBncmlkIHN5c3RlbS5cbiAqL1xuLm8tbGF5b3V0LS1yZXZlcnNlIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG4uby1sYXlvdXQtLXJldmVyc2UgPiAuby1sYXlvdXRfX2l0ZW0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLyogQXV0by13aWR0aHMgbW9kaWZpZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENhdXNlIGxheW91dCBpdGVtcyB0byB0YWtlIHVwIGEgbm9uLWV4cGxpY2l0IGFtb3VudCBvZiB3aWR0aC5cbiAqL1xuLm8tbGF5b3V0LS1hdXRvID4gLm8tbGF5b3V0X19pdGVtIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTUVESUFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFBsYWNlIGFueSBpbWFnZS0gYW5kIHRleHQtbGlrZSBjb250ZW50IHNpZGUtYnktc2lkZSwgYXMgcGVyOlxuICogaHR0cDovL3d3dy5zdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqL1xuLm8tbWVkaWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5vLW1lZGlhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xufVxuXG4uby1tZWRpYV9faW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweDtcbn1cbi5vLW1lZGlhX19pbWcgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm8tbWVkaWFfX2JvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5vLW1lZGlhX19ib2R5LFxuLm8tbWVkaWFfX2JvZHkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNpemUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE1vZGlmeSB0aGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gb3VyIGltYWdlIGFuZCBvdXIgdGV4dC4gV2UgYWxzbyBoYXZlXG4gKiByZXZlcnNpYmxlIG9wdGlvbnMgZm9yIGFsbCBhdmFpbGFibGUgc2l6ZXMuXG4gKi9cbi5vLW1lZGlhLS1mbHVzaCA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uby1tZWRpYS0tdGlueSA+IC5vLW1lZGlhX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cbi5vLW1lZGlhLS10aW55Lm8tbWVkaWEtLXJldmVyc2UgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogNnB4O1xufVxuXG4uby1tZWRpYS0tc21hbGwgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuLm8tbWVkaWEtLXNtYWxsLm8tbWVkaWEtLXJldmVyc2UgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cblxuLm8tbWVkaWEtLWxhcmdlID4gLm8tbWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogNDhweDtcbn1cbi5vLW1lZGlhLS1sYXJnZS5vLW1lZGlhLS1yZXZlcnNlID4gLm8tbWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG59XG5cbi5vLW1lZGlhLS1odWdlID4gLm8tbWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogOTZweDtcbn1cbi5vLW1lZGlhLS1odWdlLm8tbWVkaWEtLXJldmVyc2UgPiAuby1tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogOTZweDtcbn1cblxuLyogUmV2ZXJzZWQgbWVkaWEgb2JqZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLW1lZGlhLS1yZXZlcnNlID4gLm8tbWVkaWFfX2ltZyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGTEFHXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgZmxhZyBvYmplY3QgaXMgYSBkZXNpZ24gcGF0dGVybiBzaW1pbGFyIHRvIHRoZSBtZWRpYSBvYmplY3QsIGhvd2V2ZXIgaXRcbiAqIHV0aWxpc2VzIGBkaXNwbGF5OiB0YWJsZVstY2VsbF07YCB0byBnaXZlIHVzIGNvbnRyb2wgb3ZlciB0aGUgdmVydGljYWxcbiAqIGFsaWdubWVudHMgb2YgdGhlIHRleHQgYW5kIGltYWdlLlxuICpcbiAqIGh0dHA6Ly9jc3N3aXphcmRyeS5jb20vMjAxMy8wNS90aGUtZmxhZy1vYmplY3QvXG4gKlxuICogMS4gQWxsb3dzIHVzIHRvIGNvbnRyb2wgdmVydGljYWwgYWxpZ25tZW50cy5cbiAqIDIuIEZvcmNlIHRoZSBvYmplY3QgdG8gYmUgdGhlIGZ1bGwgd2lkdGggb2YgaXRzIHBhcmVudC4gQ29tYmluZWQgd2l0aCBbMV0sXG4gKiAgICB0aGlzIG1ha2VzIHRoZSBvYmplY3QgYmVoYXZlIGluIGEgcXVhc2ktYGRpc3BsYXk6IGJsb2NrO2AgbWFubmVyLlxuICogMy4gUmVzZXQgaW5oZXJpdGVkIGBib3JkZXItc3BhY2luZ2AgZGVjbGFyYXRpb25zLlxuICovXG4uby1mbGFnIHtcbiAgZGlzcGxheTogdGFibGU7IC8qIFsxXSAqL1xuICB3aWR0aDogMTAwJTsgLyogWzJdICovXG4gIGJvcmRlci1zcGFjaW5nOiAwOyAvKiBbM10gKi9cbn1cblxuLyoqXG4gKiBJdGVtcyB3aXRoaW4gYSBmbGFnIG9iamVjdC4gVGhlcmUgc2hvdWxkIG9ubHkgZXZlciBiZSBvbmUgb2YgZWFjaC5cbiAqXG4gKiAxLiBEZWZhdWx0IHRvIGFsaWduaW5nIGNvbnRlbnQgdG8gdGhlaXIgbWlkZGxlcy5cbiAqL1xuLm8tZmxhZ19faW1nLFxuLm8tZmxhZ19fYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIFsxXSAqL1xufVxuXG4vKipcbiAqIEZsYWcgaW1hZ2VzIGhhdmUgYSBzcGFjZSBiZXR3ZWVuIHRoZW0gYW5kIHRoZSBib2R5IG9mIHRoZSBvYmplY3QuXG4gKlxuICogMS4gRm9yY2UgYC5mbGFnX19pbWdgIHRvIHRha2UgdXAgYXMgbGl0dGxlIHNwYWNlIGFzIHBvc3NpYmxlOlxuICogICAgaHR0cHM6Ly9waXhlbHN2c2J5dGVzLmNvbS8yMDEyLzAyL3RoaXMtY3NzLWxheW91dC1ncmlkLWlzLW5vLWhvbHktZ3JhaWwvXG4gKi9cbi5vLWZsYWdfX2ltZyB7XG4gIHdpZHRoOiAxcHg7IC8qIFsxXSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAvKipcbiAgICogMS4gRml4ZXMgcHJvYmxlbSB3aXRoIGltYWdlcyBkaXNhcHBlYXJpbmcuXG4gICAqXG4gICAqICAgIFRoZSBkaXJlY3QgY2hpbGQgc2VsZWN0b3IgJz4nIG5lZWRzIHRvIHJlbWFpbiBpbiBvcmRlciBmb3IgbmVzdGVkIGZsYWdcbiAgICogICAgb2JqZWN0cyB0byBub3QgaW5oZXJpdCB0aGVpciBwYXJlbnTigJlzIGZvcm1hdHRpbmcuIEluIGNhc2UgdGhlIGltYWdlIHRhZ1xuICAgKiAgICBpcyB3cmFwcGVkIGludG8gYW5vdGhlciB0YWcsIGUuZy4gYW4gYW5jaG9yIGZvciBsaW5raW5nIHJlYXNvbnMsIGl0IHdpbGxcbiAgICogICAgZGlzYXBwZWFyLiBJbiB0aGF0IGNhc2UgdHJ5IHdyYXBwaW5nIHRoZSB3aG9sZSBvLWZsYWdfX2ltZyBvYmplY3QgaW50b1xuICAgKiAgICBhbiBhbmNob3IgdGFnLlxuICAgKlxuICAgKiAgICBFLmcuOlxuICAgKlxuICAgKiAgICAgIDxhIGhyZWY9XCIvXCI+XG4gICAqICAgICAgICA8ZGl2IGNsYXNzPVwiby1mbGFnX19pbWdcIj5cbiAgICogICAgICAgICAgPGltZyBzcmM9XCIuL2xpbmsvdG8vaW1hZ2UuanBnXCIgYWx0PVwiaW1hZ2UgYWx0IHRleHRcIj5cbiAgICogICAgICAgIDwvZGl2PlxuICAgKiAgICAgIDwvYT5cbiAgICovXG59XG4uby1mbGFnX19pbWcgPiBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7IC8qIFsxXSAqL1xufVxuXG4vKipcbiAqIFRoZSBjb250YWluZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgdGhlIGZsYWcgb2JqZWN0LlxuICpcbiAqIDEuIEZvcmNlcyB0aGUgYC5mbGFnX19ib2R5YCB0byB0YWtlIHVwIGFsbCByZW1haW5pbmcgc3BhY2UuXG4gKi9cbi5vLWZsYWdfX2JvZHkge1xuICB3aWR0aDogYXV0bzsgLyogWzFdICovXG59XG4uby1mbGFnX19ib2R5LFxuLm8tZmxhZ19fYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogU2l6ZSB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWZsYWctLWZsdXNoID4gLm8tZmxhZ19faW1nIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uby1mbGFnLS10aW55ID4gLm8tZmxhZ19faW1nIHtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xufVxuLm8tZmxhZy0tdGlueS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbn1cblxuLm8tZmxhZy0tc21hbGwgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLm8tZmxhZy0tc21hbGwuby1mbGFnLS1yZXZlcnNlID4gLm8tZmxhZ19faW1nIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xufVxuXG4uby1mbGFnLS1sYXJnZSA+IC5vLWZsYWdfX2ltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG4uby1mbGFnLS1sYXJnZS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG59XG5cbi5vLWZsYWctLWh1Z2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiA5NnB4O1xufVxuLm8tZmxhZy0taHVnZS5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG59XG5cbi8qIFJldmVyc2VkIGZsYWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFN3YXAgdGhlIHJlbmRlcmVkIGRpcmVjdGlvbiBvZiB0aGUgb2JqZWN04oCmXG4gKiAyLiDigKZhbmQgcmVzZXQgaXQuXG4gKiAzLiBSZWFzc2lnbiBtYXJnaW5zIHRvIHRoZSBjb3JyZWN0IHNpZGVzLlxuICovXG4uby1mbGFnLS1yZXZlcnNlIHtcbiAgZGlyZWN0aW9uOiBydGw7IC8qIFsxXSAqL1xufVxuLm8tZmxhZy0tcmV2ZXJzZSA+IC5vLWZsYWdfX2ltZyxcbi5vLWZsYWctLXJldmVyc2UgPiAuby1mbGFnX19ib2R5IHtcbiAgZGlyZWN0aW9uOiBsdHI7IC8qIFsyXSAqL1xufVxuLm8tZmxhZy0tcmV2ZXJzZSA+IC5vLWZsYWdfX2ltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IC8qIFszXSAqL1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7IC8qIFszXSAqL1xufVxuXG4vKiBBbGlnbm1lbnQgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFZlcnRpY2FsbHkgYWxpZ24gdGhlIGltYWdlLSBhbmQgYm9keS1jb250ZW50IGRpZmZlcmVudGx5LiBEZWZhdWx0cyB0byBtaWRkbGUuXG4gKi9cbi5vLWZsYWctLXRvcCA+IC5vLWZsYWdfX2ltZyxcbi5vLWZsYWctLXRvcCA+IC5vLWZsYWdfX2JvZHkge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uby1mbGFnLS1ib3R0b20gPiAuby1mbGFnX19pbWcsXG4uby1mbGFnLS1ib3R0b20gPiAuby1mbGFnX19ib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNMSVNULUJBUkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFN0cmlwIGxpc3QtbGlrZSBhcHBlYXJhbmNlIGZyb20gbGlzdHMgYnkgcmVtb3ZpbmcgdGhlaXIgYnVsbGV0cyBhbmQgYW55XG4gKiBpbmRlbnRhdGlvbi5cbiAqXG4gKiBOb3RlOiBEZWNsYXJpbmcgdGhlIGl0ZW0gY2xhc3MgbWlnaHQgbm90IGJlIG5lY2Vzc2FyeSBldmVyeXdoZXJlLFxuICogYnV0IGlzIGZvciBleGFtcGxlIGluIDxkbD4gbGlzdHMgZm9yIHRoZSA8ZGQ+IGNoaWxkcmVuLlxuICovXG4uby1saXN0LWJhcmUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm8tbGlzdC1iYXJlX19pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTElTVC1JTkxJTkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBsaXN0LWlubGluZSBvYmplY3Qgc2ltcGx5IGRpc3BsYXlzIGEgbGlzdCBvZiBpdGVtcyBpbiBvbmUgbGluZS5cbiAqL1xuLm8tbGlzdC1pbmxpbmUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tbGlzdC1pbmxpbmVfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQk9YXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgYm94IG9iamVjdCBzaW1wbHkgYm94ZXMgb2ZmIGNvbnRlbnQuIEV4dGVuZCB3aXRoIGNvc21ldGljIHN0eWxlcyBpbiB0aGVcbiAqIENvbXBvbmVudHMgbGF5ZXIuXG4gKlxuICogMS4gU28gd2UgY2FuIGFwcGx5IHRoZSBgLm8tYm94YCBjbGFzcyB0byBuYXR1cmFsbHktaW5saW5lIGVsZW1lbnRzLlxuICovXG4uby1ib3gge1xuICBkaXNwbGF5OiBibG9jazsgLyogWzFdICovXG4gIHBhZGRpbmc6IDI0cHg7XG59XG4uby1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG59XG4uby1ib3ggPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNpemUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1ib3gtLWZsdXNoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm8tYm94LS10aW55IHtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4uby1ib3gtLXNtYWxsIHtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuLm8tYm94LS1sYXJnZSB7XG4gIHBhZGRpbmc6IDQ4cHg7XG59XG5cbi5vLWJveC0taHVnZSB7XG4gIHBhZGRpbmc6IDk2cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQkxPQ0tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFN0YWNrZWQgaW1hZ2Utd2l0aC10ZXh0IG9iamVjdC4gQSBzaW1wbGUgYWJzdHJhY3Rpb24gdG8gY292ZXIgYSB2ZXJ5IGNvbW1vbmx5XG4gKiBvY2N1cnJpbmcgZGVzaWduIHBhdHRlcm4uXG4gKi9cbi5vLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tYmxvY2tfX2ltZyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIC8qIFNpemUgdmFyaWFudHNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xufVxuLm8tYmxvY2stLWZsdXNoID4gLm8tYmxvY2tfX2ltZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uby1ibG9jay0tdGlueSA+IC5vLWJsb2NrX19pbWcge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4uby1ibG9jay0tc21hbGwgPiAuby1ibG9ja19faW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5vLWJsb2NrLS1sYXJnZSA+IC5vLWJsb2NrX19pbWcge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xufVxuLm8tYmxvY2stLWh1Z2UgPiAuby1ibG9ja19faW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogOTZweDtcbn1cblxuLm8tYmxvY2tfX2JvZHkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogQWxpZ25tZW50IHZhcmlhbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tYmxvY2stLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5vLWJsb2NrLS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSQVRJT1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ3JlYXRlIHJhdGlvLWJvdW5kIGNvbnRlbnQgYmxvY2tzLCB0byBrZWVwIG1lZGlhIChlLmcuIGltYWdlcywgdmlkZW9zKSBpblxuICogdGhlaXIgY29ycmVjdCBhc3BlY3QgcmF0aW9zLlxuICpcbiAqIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2NyZWF0aW5nLWludHJpbnNpYy1yYXRpb3MtZm9yLXZpZGVvXG4gKlxuICogMS4gRGVmYXVsdCBpcyBhIDE6MSByYXRpbyAoaS5lLiBhIHBlcmZlY3Qgc3F1YXJlKS5cbiAqL1xuLm8tcmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm8tcmF0aW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgLyogWzFdICovXG59XG5cbi5vLXJhdGlvX19jb250ZW50LFxuLm8tcmF0aW8gPiBpZnJhbWUsXG4uby1yYXRpbyA+IGVtYmVkLFxuLm8tcmF0aW8gPiBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBSYXRpbyB2YXJpYW50cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEdlbmVyYXRlIGEgc2VyaWVzIG9mIHJhdGlvIGNsYXNzZXMgdG8gYmUgdXNlZCBsaWtlIHNvOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tcmF0aW8gIG8tcmF0aW8tLWdvbGRlbi1yYXRpb1wiPlxuICpcbiAqL1xuLm8tcmF0aW8tLTJcXDoxOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbi5vLXJhdGlvLS00XFw6MzpiZWZvcmUge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uby1yYXRpby0tMTZcXDo5OmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8qIENvbnRhaW4gbW9kaWZpZXIuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPbmx5IHdvcmtzIHdpdGggaW1hZ2UgY29udGVudC5cbiAqIENvbnRhaW5zIHRoZSBpbWFnZSB0byB0aGUgYm91bmRhcmllcywgd2l0aG91dCBjcm9wcGluZyBvciBzdHJldGNoaW5nIGl0LlxuICovXG4uby1yYXRpby0taW1nLWNvbnRhaW4gPiAuby1yYXRpb19fY29udGVudDpiZWZvcmUge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDUk9QXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBQcm92aWRlIGEgY3JvcHBpbmcgY29udGFpbmVyIGluIG9yZGVyIHRvIGRpc3BsYXkgbWVkaWEgKHVzdWFsbHkgaW1hZ2VzKVxuICogY3JvcHBlZCB0byBjZXJ0YWluIHJhdGlvcy5cbiAqXG4gKiAxLiBTZXQgdXAgYSBwb3NpdGlvbmluZyBjb250ZXh0IGluIHdoaWNoIHRoZSBpbWFnZSBjYW4gc2l0LlxuICogMi4gVGhpcyBpcyB0aGUgY3J1Y2lhbCBwYXJ0OiB3aGVyZSB0aGUgY3JvcHBpbmcgaGFwcGVucy5cbiAqL1xuLm8tY3JvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogWzFdICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvKiBbMl0gKi9cbn1cblxuLyoqXG4gKiBBcHBseSB0aGlzIGNsYXNzIHRvIHRoZSBjb250ZW50ICh1c3VhbGx5IGBpbWdgKSB0aGF0IG5lZWRzIGNyb3BwaW5nLlxuICpcbiAqIDEuIEltYWdl4oCZcyBkZWZhdWx0IHBvc2l0aW9uaW5nIGlzIHRvcC1sZWZ0IGluIHRoZSBjcm9wcGluZyBib3guXG4gKiAyLiBNYWtlIHN1cmUgdGhlIG1lZGlhIGRvZXNu4oCZdCBzdG9wIGl0c2VsZiB0b28gc29vbi5cbiAqL1xuLm8tY3JvcF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyAvKiBbMV0gKi9cbiAgbGVmdDogMDsgLyogWzFdICovXG4gIG1heC13aWR0aDogbm9uZTsgLyogWzJdICovXG59XG5cbi8qKlxuICogV2UgY2FuIHBvc2l0aW9uIHRoZSBtZWRpYSBpbiBkaWZmZXJlbnQgbG9jYXRpb25zIHdpdGhpbiB0aGUgY3JvcHBpbmcgYXJlYS5cbiAqL1xuLm8tY3JvcF9fY29udGVudC0tbGVmdC10b3Age1xuICBsZWZ0OiAwO1xufVxuXG4uby1jcm9wX19jb250ZW50LS1sZWZ0LWNlbnRlciB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5vLWNyb3BfX2NvbnRlbnQtLWxlZnQtYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG5cbi5vLWNyb3BfX2NvbnRlbnQtLXJpZ2h0LXRvcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uby1jcm9wX19jb250ZW50LS1yaWdodC1jZW50ZXIge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLm8tY3JvcF9fY29udGVudC0tcmlnaHQtYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uby1jcm9wX19jb250ZW50LS1jZW50ZXItdG9wIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5vLWNyb3BfX2NvbnRlbnQtLWNlbnRlcixcbi5vLWNyb3BfX2NvbnRlbnQtLWNlbnRlci1jZW50ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLm8tY3JvcF9fY29udGVudC0tY2VudGVyLWJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLyogQ3JvcC1yYXRpbyB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogR2VuZXJhdGUgYSBzZXJpZXMgb2YgY3JvcCBjbGFzc2VzIHRvIGJlIHVzZWQgbGlrZSBzbzpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWNyb3AgIG8tY3JvcC0tZ29sZGVuLXJhdGlvXCI+XG4gKlxuICovXG4uby1jcm9wLS0yXFw6MSB7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbi5vLWNyb3AtLTRcXDozIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLm8tY3JvcC0tMTZcXDo5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLyogRmlsbCBtb2RpZmllclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29udGVudCBzdHJldGNoZXMgdG8gZmlsbCBpdCdzIGNvbnRhaW5lciB3aGlsZSBtYWludGFpbmluZyBhc3BlY3QtcmF0aW8uXG4gKi9cbi5vLWNyb3AtLWZpbGwgPiAuby1jcm9wX19jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1RBQkxFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBIHNpbXBsZSBvYmplY3QgZm9yIG1hbmlwdWxhdGluZyB0aGUgc3RydWN0dXJlIG9mIEhUTUwgYHRhYmxlYHMuXG4gKi9cbi5vLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEVxdWFsLXdpZHRoIHRhYmxlIGNlbGxzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBgdGFibGUtbGF5b3V0OiBmaXhlZGAgZm9yY2VzIGFsbCBjZWxscyB3aXRoaW4gYSB0YWJsZSB0byBvY2N1cHkgdGhlIHNhbWVcbiAqIHdpZHRoIGFzIGVhY2ggb3RoZXIuIFRoaXMgYWxzbyBoYXMgcGVyZm9ybWFuY2UgYmVuZWZpdHM6IGJlY2F1c2UgdGhlIGJyb3dzZXJcbiAqIGRvZXMgbm90IG5lZWQgdG8gKHJlKWNhbGN1bGF0ZSBjZWxsIGRpbWVuc2lvbnMgYmFzZWQgb24gY29udGVudCBpdCBkaXNjb3ZlcnMsXG4gKiB0aGUgdGFibGUgY2FuIGJlIHJlbmRlcmVkIHZlcnkgcXVpY2tseS4gRnVydGhlciByZWFkaW5nOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3RhYmxlLWxheW91dCNWYWx1ZXNcbiAqL1xuLm8tdGFibGUtLWZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLyogU2l6ZSB2YXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLXRhYmxlLS10aW55IHRoLFxuLm8tdGFibGUtLXRpbnkgdGQge1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbi5vLXRhYmxlLS1zbWFsbCB0aCxcbi5vLXRhYmxlLS1zbWFsbCB0ZCB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5vLXRhYmxlLS1sYXJnZSB0aCxcbi5vLXRhYmxlLS1sYXJnZSB0ZCB7XG4gIHBhZGRpbmc6IDQ4cHg7XG59XG5cbi5vLXRhYmxlLS1odWdlIHRoLFxuLm8tdGFibGUtLWh1Z2UgdGQge1xuICBwYWRkaW5nOiA5NnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BBQ0tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBwYWNrIG9iamVjdCBzaW1wbHkgY2F1c2VzIGFueSBudW1iZXIgb2YgZWxlbWVudHMgcGFjayB1cCBob3Jpem9udGFsbHkgdG9cbiAqIGF1dG9tYXRpY2FsbHkgZmlsbCBhbiBlcXVhbCwgZmx1aWQgd2lkdGggb2YgdGhlaXIgcGFyZW50LlxuICpcbiAqIDEuIEZpbGwgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiAqIDIuIFJlbW92ZSBhbnkgbGVmdG92ZXIgc3R5bGluZyBmcm9tIGxpc3RzLlxuICogMy4gQ2F1c2UgY2hpbGRyZW4gdG8gYmUgYXV0b21hdGljYWxseSBlcXVhbGx5IHNpemVkLlxuICovXG4uby1wYWNrIHtcbiAgd2lkdGg6IDEwMCU7IC8qIFsxXSAqL1xuICBtYXJnaW4tbGVmdDogMDsgLyogWzJdICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyAvKiBbM10gKi9cbn1cblxuLyoqXG4gKiAxLiBDYXVzZSBjaGlsZHJlbiB0byBhZG9wdCB0YWJsZS1saWtlIHN0cnVjdHVyZS5cbiAqIDIuIERlZmF1bHQgaXRlbSBhbGlnbm1lbnQgaXMgd2l0aCB0aGUgdG9wcyBvZiBlYWNoIG90aGVyLlxuICovXG4uby1wYWNrX19pdGVtIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgLyogWzFdICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIFsyXSAqL1xuICAvKiBWZXJ0aWNhbCBhbGlnbm1lbnQgdmFyaWFudHNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xufVxuLm8tcGFjay0tbWlkZGxlID4gLm8tcGFja19faXRlbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uby1wYWNrLS1ib3R0b20gPiAuby1wYWNrX19pdGVtIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogVW5lcXVhbC13aWR0aCBpdGVtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLXBhY2stLWF1dG8ge1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG59XG5cbi8qIFNpemUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1wYWNrLS10aW55IHtcbiAgYm9yZGVyLXNwYWNpbmc6IDZweDtcbn1cblxuLm8tcGFjay0tc21hbGwge1xuICBib3JkZXItc3BhY2luZzogMTJweDtcbn1cblxuLm8tcGFjay0tZGVmYXVsdCB7XG4gIGJvcmRlci1zcGFjaW5nOiAyNHB4O1xufVxuXG4uby1wYWNrLS1sYXJnZSB7XG4gIGJvcmRlci1zcGFjaW5nOiA0OHB4O1xufVxuXG4uby1wYWNrLS1odWdlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDk2cHg7XG59XG5cbi8qIFJldmVyc2VkIG9yZGVyIHBhY2tzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tcGFjay0tcmV2ZXJzZSB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuLm8tcGFjay0tcmV2ZXJzZSA+IC5vLXBhY2tfX2l0ZW0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDTEVBUkZJWFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQXR0YWNoIG91ciBjbGVhcmZpeCBtaXhpbiB0byBhIHV0aWxpdHkgY2xhc3MuXG4gKi9cbi51LWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1dJRFRIU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogaW51aXRjc3MgZ2VuZXJhdGVzIGEgc2VyaWVzIG9mIHV0aWxpdHkgY2xhc3NlcyB0aGF0IGdpdmUgYSBmbHVpZCB3aWR0aCB0b1xuICogd2hpY2hldmVyIGVsZW1lbnQgdGhleeKAmXJlIGFwcGxpZWQsIGUuZy46XG4gKlxuICogICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIGNsYXNzPVwidS0xLzJcIiAvPlxuICpcbiAqIFRoZXNlIGNsYXNzZXMgYXJlIG1vc3QgY29tbW9ubHkgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG91ciBsYXlvdXQgc3lzdGVtLFxuICogZS5nLjpcbiAqXG4gKiAgIDxkaXYgY2xhc3M9XCJvLWxheW91dF9faXRlbSAgdS0xLzJcIj5cbiAqXG4gKiBCeSBkZWZhdWx0LCBpbnVpdGNzcyB3aWxsIGFsc28gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB2YXJpYW50cyBvZiBlYWNoIG9mIHRoZXNlXG4gKiBjbGFzc2VzIGJ5IHVzaW5nIHlvdXIgU2FzcyBNUSBjb25maWd1cmF0aW9uLCBlLmcuOlxuICpcbiAqICAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0X19pdGVtICB1LTEvMSAgdS0xLzJAdGFibGV0ICB1LTEvM0BkZXNrdG9wXCI+XG4gKlxuICogT3B0aW9uYWxseSwgaW51aXRjc3MgY2FuIGdlbmVyYXRlIG9mZnNldCBjbGFzc2VzIHdoaWNoIGNhbiBwdXNoIGFuZCBwdWxsXG4gKiBlbGVtZW50cyBsZWZ0IGFuZCByaWdodCBieSBhIHNwZWNpZmllZCBhbW91bnQsIGUuZy46XG4gKlxuICogICA8ZGl2IGNsYXNzPVwiby1sYXlvdXRfX2l0ZW0gIHUtMi8zICB1LXB1bGwtMS8zXCI+XG4gKlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIG1ha2luZyB2ZXJ5IGdyYW51bGFyIGNoYW5nZXMgdG8gdGhlIHJlbmRlcmVkIG9yZGVyIG9mXG4gKiBpdGVtcyBpbiBhIGxheW91dC5cbiAqXG4gKiBOLkIuIFRoaXMgb3B0aW9uIGlzIHR1cm5lZCBvZmYgYnkgZGVmYXVsdC5cbiAqL1xuLyoqXG4gKiBBIHNlcmllcyBvZiB3aWR0aCBoZWxwZXIgY2xhc3NlcyB0aGF0IHlvdSBjYW4gdXNlIHRvIHNpemUgdGhpbmdzIGxpa2UgZ3JpZFxuICogc3lzdGVtcy4gQ2xhc3NlcyB0YWtlIGEgZnJhY3Rpb24tbGlrZSBmb3JtYXQgKGUuZy4gYC51LTIvM2ApLiBVc2UgdGhlc2UgaW5cbiAqIHlvdXIgbWFya3VwOlxuICpcbiAqIDxkaXYgY2xhc3M9XCJ1LTcvMTJcIj5cbiAqXG4gKiBUaGUgZm9sbG93aW5nIHdpbGwgZ2VuZXJhdGUgd2lkdGhzIGhlbHBlciBjbGFzc2VzIGJhc2VkIG9uIHRoZSBmcmFjdGlvbnNcbiAqIGRlZmluZWQgaW4gdGhlIGAkaW51aXQtZnJhY3Rpb25zYCBsaXN0LlxuICovXG4udS0xXFwvMSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LTFcXC8yIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udS0yXFwvMiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LTFcXC8zIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG59XG5cbi51LTJcXC8zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG59XG5cbi51LTNcXC8zIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnUtMVxcLzQge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi51LTJcXC80IHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udS0zXFwvNCB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnUtNFxcLzQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udS0xXFwvNSB7XG4gIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbn1cblxuLnUtMlxcLzUge1xuICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LTNcXC81IHtcbiAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xufVxuXG4udS00XFwvNSB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbn1cblxuLnUtNVxcLzUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIElmIHdl4oCZcmUgdXNpbmcgU2Fzcy1NUSwgYXV0b21hdGljYWxseSBnZW5lcmF0ZSBncmlkIHN5c3RlbShzKSBmb3IgZWFjaCBvZiBvdXJcbiAqIGRlZmluZWQgYnJlYWtwb2ludHMsIGFuZCBnaXZlIHRoZW0gYSBSZXNwb25zaXZlIFN1ZmZpeCwgZS5nLjpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwidS0zLzEyQG1vYmlsZVwiPlxuICovXG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS0xXFwvMVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0xXFwvMlxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTJcXC8yXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTFcXC8zXFxAbW9iaWxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvM1xcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtM1xcLzNcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzRcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvNFxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTNcXC80XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNFxcLzRcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzVcXEBtb2JpbGUge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvNVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTNcXC81XFxAbW9iaWxlIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNFxcLzVcXEBtb2JpbGUge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS01XFwvNVxcQG1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtMVxcLzFcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzJcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvMlxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0xXFwvM1xcQHRhYmxldCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzNcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTNcXC8zXFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTFcXC80XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzRcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0zXFwvNFxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTRcXC80XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTFcXC81XFxAdGFibGV0IHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0zXFwvNVxcQHRhYmxldCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTRcXC81XFxAdGFibGV0IHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNVxcLzVcXEB0YWJsZXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LTFcXC8xXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0xXFwvMlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvMlxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzNcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvM1xcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTNcXC8zXFxAZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0xXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS0yXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS0zXFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS00XFwvNFxcQGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzVcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzVcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtM1xcLzVcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNFxcLzVcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNVxcLzVcXEBkZXNrdG9wIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS0xXFwvMVxcQHdpZGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzJcXEB3aWRlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzJcXEB3aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTFcXC8zXFxAd2lkZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzNcXEB3aWRlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudS0zXFwvM1xcQHdpZGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMVxcLzRcXEB3aWRlIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtMlxcLzRcXEB3aWRlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtM1xcLzRcXEB3aWRlIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtNFxcLzRcXEB3aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTFcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTJcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTNcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTRcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LTVcXC81XFxAd2lkZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFESU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVkZWZpbmUgYWxsIG9mIG91ciBiYXNpYyBoZWFkaW5nIHN0eWxlcyBhZ2FpbnN0IHV0aWxpdHkgY2xhc3NlcyBzbyBhcyB0b1xuICogYWxsb3cgZm9yIGRvdWJsZSBzdHJhbmRlZCBoZWFkaW5nIGhpZXJhcmNoeSwgZS5nLiB3ZSBzZW1hbnRpY2FsbHkgbmVlZCBhbiBIMixcbiAqIGJ1dCB3ZSB3YW50IGl0IHRvIGJlIHNpemVkIGxpa2UgYW4gSDE6XG4gKlxuICogICA8aDIgY2xhc3M9XCJ1LWgxXCI+PC9oMj5cbiAqXG4gKi9cbi51LWgxIHtcbiAgZm9udC1zaXplOiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4xNjY2NjY2NjY3ICFpbXBvcnRhbnQ7XG59XG5cbi51LWgyIHtcbiAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyODU3ICFpbXBvcnRhbnQ7XG59XG5cbi51LWgzIHtcbiAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7XG59XG5cbi51LWg0IHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG59XG5cbi51LWg1IHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMyAhaW1wb3J0YW50O1xufVxuXG4udS1oNiB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1NQQUNJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcHV0IHNwZWNpZmljIHNwYWNpbmcgdmFsdWVzIG9udG8gZWxlbWVudHMuIFRoZSBiZWxvdyBsb29wXG4gKiB3aWxsIGdlbmVyYXRlIHVzIGEgc3VpdGUgb2YgY2xhc3NlcyBsaWtlOlxuICpcbiAqICAgLnUtbWFyZ2luLXRvcCB7fVxuICogICAudS1wYWRkaW5nLWxlZnQtbGFyZ2Uge31cbiAqICAgLnUtbWFyZ2luLXJpZ2h0LXNtYWxsIHt9XG4gKiAgIC51LXBhZGRpbmcge31cbiAqICAgLnUtcGFkZGluZy1yaWdodC1ub25lIHt9XG4gKiAgIC51LXBhZGRpbmctaG9yaXpvbnRhbCB7fVxuICogICAudS1wYWRkaW5nLXZlcnRpY2FsLXNtYWxsIHt9XG4gKi9cbi51LXBhZGRpbmcge1xuICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdGlueSB7XG4gIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXNtYWxsIHtcbiAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWxhcmdlIHtcbiAgcGFkZGluZzogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWh1Z2Uge1xuICBwYWRkaW5nOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctbm9uZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXRvcC10aW55IHtcbiAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXRvcC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdG9wLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy10b3AtaHVnZSB7XG4gIHBhZGRpbmctdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdG9wLW5vbmUge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXJpZ2h0LXRpbnkge1xuICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1yaWdodC1zbWFsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1yaWdodC1sYXJnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1yaWdodC1odWdlIHtcbiAgcGFkZGluZy1yaWdodDogOTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXJpZ2h0LW5vbmUge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1ib3R0b20tdGlueSB7XG4gIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1ib3R0b20tc21hbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWJvdHRvbS1sYXJnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctYm90dG9tLWh1Z2Uge1xuICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWJvdHRvbS1ub25lIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctbGVmdC10aW55IHtcbiAgcGFkZGluZy1sZWZ0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy1sZWZ0LXNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctbGVmdC1sYXJnZSB7XG4gIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWxlZnQtaHVnZSB7XG4gIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWxlZnQtbm9uZSB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWhvcml6b250YWwtdGlueSB7XG4gIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWhvcml6b250YWwtc21hbGwge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWhvcml6b250YWwtbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLWhvcml6b250YWwtaHVnZSB7XG4gIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctaG9yaXpvbnRhbC1ub25lIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdmVydGljYWwtdGlueSB7XG4gIHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1wYWRkaW5nLXZlcnRpY2FsLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxuLnUtcGFkZGluZy12ZXJ0aWNhbC1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdmVydGljYWwtaHVnZSB7XG4gIHBhZGRpbmctdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXBhZGRpbmctdmVydGljYWwtbm9uZSB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbiB7XG4gIG1hcmdpbjogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tdGlueSB7XG4gIG1hcmdpbjogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbjogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW46IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLWh1Z2Uge1xuICBtYXJnaW46IDk2cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLW5vbmUge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXRvcC10aW55IHtcbiAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi10b3Atc21hbGwge1xuICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi10b3AtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi10b3AtaHVnZSB7XG4gIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXRvcC1ub25lIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXJpZ2h0LXRpbnkge1xuICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tcmlnaHQtc21hbGwge1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXJpZ2h0LWxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1yaWdodC1odWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1yaWdodC1ub25lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1ib3R0b20tdGlueSB7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tYm90dG9tLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tYm90dG9tLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tYm90dG9tLWh1Z2Uge1xuICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1ib3R0b20tbm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tbGVmdC10aW55IHtcbiAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tbGVmdC1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1sZWZ0LWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLWxlZnQtaHVnZSB7XG4gIG1hcmdpbi1sZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1sZWZ0LW5vbmUge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4taG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4taG9yaXpvbnRhbC10aW55IHtcbiAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4taG9yaXpvbnRhbC1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4taG9yaXpvbnRhbC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4taG9yaXpvbnRhbC1odWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDk2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1ob3Jpem9udGFsLW5vbmUge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi12ZXJ0aWNhbC10aW55IHtcbiAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tdmVydGljYWwtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luLXZlcnRpY2FsLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi12ZXJ0aWNhbC1odWdlIHtcbiAgbWFyZ2luLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi12ZXJ0aWNhbC1ub25lIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUkVTUE9OU0lWRS1TUEFDSU5HU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVXRpbGl0eSBjbGFzc2VzIGVuaGFuY2luZyB0aGUgbm9ybWFsIHNwYWNpbmcgY2xhc3NlcyBieSBhZGRpbmcgcmVzcG9uc2l2ZW5lc3NcbiAqIHRvIHRoZW0uIEJ5IGRlZmF1bHQsIHRoZXJlIGFyZSBub3QgcmVzcG9uc2l2ZSBzcGFjaW5ncyBkZWZpbmVkLiBZb3UgY2FuXG4gKiBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmdzIGJ5IGFkZGluZyBlbnRyaWVzIHRvIHRoZSBmb2xsb3dpbmcgdGhyZWUgU2Fzc1xuICogbWFwcywgZS5nLjpcbiAqXG4gKiAgICRpbnVpdC1yZXNwb25zaXZlLXNwYWNpbmctZGlyZWN0aW9uczogKFxuICogICAgIG51bGw6IG51bGwsXG4gKiAgICAgXCItYm90dG9tXCI6IFwiLWJvdHRvbVwiLFxuICogICApO1xuICpcbiAqICAgJGludWl0LXJlc3BvbnNpdmUtc3BhY2luZy1wcm9wZXJ0aWVzOiAoXG4gKiAgICAgXCJtYXJnaW5cIjogXCJtYXJnaW5cIixcbiAqICAgKTtcbiAqXG4gKiAgICRpbnVpdC1yZXNwb25zaXZlLXNwYWNpbmctc2l6ZXM6IChcbiAqICAgICBcIi1zbWFsbFwiOiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdC1zbWFsbCxcbiAqICAgKTtcbiAqXG4gKiBUaGlzIHdvdWxkIGJyaW5nIHVzIHRoZSBmb2xsb3dpbmcgY2xhc3NlczpcbiAqXG4gKiAgIC51LW1hcmdpbi1zbWFsbEBtb2JpbGUge31cbiAqICAgLnUtbWFyZ2luLXNtYWxsQHRhYmxldCB7fVxuICogICAudS1tYXJnaW4tc21hbGxAZGVza3RvcCB7fVxuICogICAudS1tYXJnaW4tc21hbGxAd2lkZSB7fVxuICogICAudS1tYXJnaW4tYm90dG9tLXNtYWxsQG1vYmlsZSB7fVxuICogICAudS1tYXJnaW4tYm90dG9tLXNtYWxsQHRhYmxldCB7fVxuICogICAudS1tYXJnaW4tYm90dG9tLXNtYWxsQGRlc2t0b3Age31cbiAqICAgLnUtbWFyZ2luLWJvdHRvbS1zbWFsbEB3aWRlIHt9XG4gKlxuICogWW91IGNhbiBjaGFuZ2UgdGhlIGdlbmVyYXRlZCBDU1MgY2xhc3NlcyBieSBmdXJ0aGVyIGV4dGVuZGluZyB0aGUgU2FzcyBtYXBzLlxuICogSWYgeW91IHdhbnQgZXZlcnkg4oCYbm9ybWFs4oCZIHNwYWNpbmcgKHRob3NlIGZyb20gYHV0aWxpdGllcy5zcGFjaW5nc2ApIGFsc28gYXNcbiAqIGEgcmVzcG9uc2l2ZSB2ZXJzaW9uLCB5b3UgY2FuIGp1c3QgbWlycm9yIHRoZSDigJhub3JtYWzigJkgc3BhY2luZ3M6XG4gKlxuICogICAkaW51aXQtcmVzcG9uc2l2ZS1zcGFjaW5nLWRpcmVjdGlvbnM6ICRpbnVpdC1zcGFjaW5nLWRpcmVjdGlvbnMgIWRlZmF1bHQ7XG4gKlxuICogICAkaW51aXQtcmVzcG9uc2l2ZS1zcGFjaW5nLXByb3BlcnRpZXM6ICRpbnVpdC1zcGFjaW5nLXByb3BlcnRpZXMgIWRlZmF1bHQ7XG4gKlxuICogICAkaW51aXQtcmVzcG9uc2l2ZS1zcGFjaW5nLXNpemVzOiAkaW51aXQtc3BhY2luZy1zaXplcyAhZGVmYXVsdDtcbiAqXG4gKiBCVVQgQkUgQVdBUkU6IFRoaXMgY2FuIGdlbmVyYXRlIGEgaHVnZSBjaHVuayBvZiBleHRyYSBDU1MsIGRlcGVuZGluZyBvbiB0aGVcbiAqIGFtb3VudCBvZiBicmVha3BvaW50cyB5b3UgZGVmaW5lZC4gU28gcGxlYXNlIGNoZWNrIHlvdXIgQ1NT4oCZIG91dHB1dCBhbmRcbiAqIGZpbGVzaXplIVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy10aW55XFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZzogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdGlueVxcQHdpZGUge1xuICAgIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1zbWFsbFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1sYXJnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctaHVnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZzogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLWh1Z2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ub25lXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctdG9wLXRpbnlcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3AtdGlueVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLXRvcC10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXRvcC10aW55XFxAd2lkZSB7XG4gICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXRvcC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3Atc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdG9wLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3Atc21hbGxcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXRvcC1sYXJnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3AtbGFyZ2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdG9wLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3AtbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXRvcC1odWdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXRvcC1odWdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLXRvcC1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy10b3AtaHVnZVxcQHdpZGUge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctdG9wLW5vbmVcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctdG9wLW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdG9wLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXRvcC1ub25lXFxAd2lkZSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC10aW55XFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtdGlueVxcQHdpZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC1zbWFsbFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC1sYXJnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtaHVnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LWh1Z2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctcmlnaHQtbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1yaWdodC1ub25lXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXJpZ2h0LW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLXRpbnlcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20tdGlueVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS10aW55XFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS10aW55XFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1zbWFsbFxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20tc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20tc21hbGxcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1sYXJnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20tbGFyZ2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20tbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1odWdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1odWdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ib3R0b20taHVnZVxcQHdpZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLW5vbmVcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctYm90dG9tLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLWJvdHRvbS1ub25lXFxAd2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LXRpbnlcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGVmdC10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtdGlueVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGVmdC10aW55XFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LXNtYWxsXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LXNtYWxsXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGVmdC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtbGFyZ2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtbGFyZ2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LWxhcmdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctbGVmdC1odWdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtaHVnZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtaHVnZVxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWxlZnQtbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctbGVmdC1ub25lXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LW5vbmVcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1sZWZ0LW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLXRpbnlcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtdGlueVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC10aW55XFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC1zbWFsbFxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLWxhcmdlXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC1sYXJnZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC1sYXJnZVxcQHdpZGUge1xuICAgIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLWh1Z2VcXEBtb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctaG9yaXpvbnRhbC1odWdlXFxAd2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtbm9uZVxcQHRhYmxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLWhvcml6b250YWwtbm9uZVxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy1ob3Jpem9udGFsLW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtdGlueVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC10aW55XFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLXRpbnlcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLXNtYWxsXFxAbW9iaWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtc21hbGxcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC1zbWFsbFxcQGRlc2t0b3Age1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC1zbWFsbFxcQHdpZGUge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC1sYXJnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLWxhcmdlXFxAdGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtbGFyZ2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtaHVnZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLWh1Z2VcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC1odWdlXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLWh1Z2VcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LXBhZGRpbmctdmVydGljYWwtbm9uZVxcQG1vYmlsZSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLW5vbmVcXEB0YWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtcGFkZGluZy12ZXJ0aWNhbC1ub25lXFxAZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1wYWRkaW5nLXZlcnRpY2FsLW5vbmVcXEB3aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi10aW55XFxAbW9iaWxlIHtcbiAgICBtYXJnaW46IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tdGlueVxcQHRhYmxldCB7XG4gICAgbWFyZ2luOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW46IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tdGlueVxcQHdpZGUge1xuICAgIG1hcmdpbjogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1zbWFsbFxcQHRhYmxldCB7XG4gICAgbWFyZ2luOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1zbWFsbFxcQGRlc2t0b3Age1xuICAgIG1hcmdpbjogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW46IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW46IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxhcmdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW46IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1sYXJnZVxcQHdpZGUge1xuICAgIG1hcmdpbjogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4taHVnZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW46IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW46IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWh1Z2VcXEB3aWRlIHtcbiAgICBtYXJnaW46IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tbm9uZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ub25lXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi10b3AtdGlueVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3AtdGlueVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3AtdGlueVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tdG9wLXRpbnlcXEB3aWRlIHtcbiAgICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tdG9wLXNtYWxsXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3Atc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3Atc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi10b3AtbGFyZ2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tdG9wLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tdG9wLWxhcmdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tdG9wLWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3AtaHVnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tdG9wLW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1ub25lXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi10b3Atbm9uZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXRvcC1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtdGlueVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXJpZ2h0LXRpbnlcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC10aW55XFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXJpZ2h0LXRpbnlcXEB3aWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtc21hbGxcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtc21hbGxcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXJpZ2h0LXNtYWxsXFxAd2lkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1sYXJnZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1sYXJnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1yaWdodDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtbGFyZ2VcXEB3aWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLXJpZ2h0LWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtaHVnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1odWdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1yaWdodC1ub25lXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXJpZ2h0LW5vbmVcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtbm9uZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tcmlnaHQtbm9uZVxcQHdpZGUge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLXRpbnlcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLXRpbnlcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS10aW55XFxAd2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20tc21hbGxcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS1zbWFsbFxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLXNtYWxsXFxAd2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20tbGFyZ2VcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS1sYXJnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS1sYXJnZVxcQHdpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS1odWdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20taHVnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20taHVnZVxcQHdpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLWJvdHRvbS1ub25lXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20tbm9uZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tYm90dG9tLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ib3R0b20tbm9uZVxcQHdpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtdGlueVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC10aW55XFxAdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LXRpbnlcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LXNtYWxsXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC1zbWFsbFxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC1zbWFsbFxcQHdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LWxhcmdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtbGFyZ2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC1sYXJnZVxcQHdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LWh1Z2VcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LWh1Z2VcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tbGVmdC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtbm9uZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtbm9uZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWxlZnQtbm9uZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1sZWZ0LW5vbmVcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC10aW55XFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtdGlueVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLXRpbnlcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtdGlueVxcQHdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtc21hbGxcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLXNtYWxsXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1sYXJnZVxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtbGFyZ2VcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtbGFyZ2VcXEB3aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1odWdlXFxAbW9iaWxlIHtcbiAgICBtYXJnaW4tbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1odWdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDk2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLWhvcml6b250YWwtaHVnZVxcQHdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLW5vbmVcXEB0YWJsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi1ob3Jpem9udGFsLW5vbmVcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4taG9yaXpvbnRhbC1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLXRpbnlcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtdGlueVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC10aW55XFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC10aW55XFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1zbWFsbFxcQG1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLXNtYWxsXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtc21hbGxcXEBkZXNrdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtc21hbGxcXEB3aWRlIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtbGFyZ2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDQ4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1sYXJnZVxcQHRhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLWxhcmdlXFxAZGVza3RvcCB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLWxhcmdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLWh1Z2VcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1odWdlXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtaHVnZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1odWdlXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogOTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnUtbWFyZ2luLXZlcnRpY2FsLW5vbmVcXEBtb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1ub25lXFxAdGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tYXJnaW4tdmVydGljYWwtbm9uZVxcQGRlc2t0b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC51LW1hcmdpbi12ZXJ0aWNhbC1ub25lXFxAd2lkZSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQUklOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVmVyeSBjcnVkZSwgcmVzZXQtbGlrZSBzdHlsZXMgdGFrZW4gZnJvbSB0aGUgSFRNTDUgQm9pbGVycGxhdGU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iLzUuMy4wL2Rpc3QvZG9jL2Nzcy5tZCNwcmludC1zdHlsZXNcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL2Rpc3QvY3NzL21haW4uY3NzI0wyMDUtTDI4MlxuICovXG5AbWVkaWEgcHJpbnQge1xuICAvKipcbiAgICogMS4gQmxhY2sgcHJpbnRzIGZhc3RlcjogaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzXG4gICAqL1xuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBbMV0gKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgLyoqXG4gICAqIERvbuKAmXQgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycywgb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgXG4gICAqIHBzZXVkbyBwcm90b2NvbC5cbiAgICovXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAvKipcbiAgICogUHJpbnRpbmcgVGFibGVzOiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICovXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0hJREVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqL1xuLnUtaGlkZGVuLXZpc3VhbGx5IHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMuXG4gKi9cbi51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCVVRUT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgY29tcG9uZW50LiBFeHRlbmQgaW51aXRjc3MgYnkgYnVpbGRpbmcgeW91ciBvd24gY29tcG9uZW50c1xuICogdGhhdCBtYWtlIHVwIHlvdXIgVUkuIENvbXBvbmVudCBjbGFzc2VzIGFyZSBwcmVmaXhlZCB3aXRoIGEgYGMtYC5cbiAqL1xuLyoqXG4gKiAxLiBBbGxvdyB1cyB0byBzdHlsZSBib3ggbW9kZWwgcHJvcGVydGllcy5cbiAqIDIuIExpbmUgZGlmZmVyZW50IHNpemVkIGJ1dHRvbnMgdXAgYSBsaXR0bGUgbmljZXIuXG4gKiAzLiBNYWtlIGJ1dHRvbnMgaW5oZXJpdCBmb250IHN0eWxlcyAob2Z0ZW4gbmVjZXNzYXJ5IHdoZW4gc3R5bGluZyBgaW5wdXRgcyBhc1xuICogICAgYnV0dG9ucykuXG4gKiA0LiBSZXNldC9ub3JtYWxpemUgc29tZSBzdHlsZXMuXG4gKiA1LiBGb3JjZSBhbGwgYnV0dG9uLXN0eWxlZCBlbGVtZW50cyB0byBhcHBlYXIgY2xpY2thYmxlLlxuICovXG4uYy1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIFsxXSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiBbMl0gKi9cbiAgZm9udDogaW5oZXJpdDsgLyogWzNdICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgLyogWzRdICovXG4gIG1hcmdpbjogMDsgLyogWzRdICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogWzVdICovXG4gIHBhZGRpbmc6IDEycHggMjRweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyogU3R5bGUgdmFyaWFudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE4ZWMyO1xufVxuLmMtYnRuLS1wcmltYXJ5LCAuYy1idG4tLXByaW1hcnk6aG92ZXIsIC5jLWJ0bi0tcHJpbWFyeTphY3RpdmUsIC5jLWJ0bi0tcHJpbWFyeTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLyogWzRdICovXG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtYnRuLS1wcmltYXJ5OmhvdmVyLCAuYy1idG4tLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NGEyO1xufVxuXG4uYy1idG4tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjQwNTQ7XG59XG4uYy1idG4tLXNlY29uZGFyeSwgLmMtYnRuLS1zZWNvbmRhcnk6aG92ZXIsIC5jLWJ0bi0tc2Vjb25kYXJ5OmFjdGl2ZSwgLmMtYnRuLS1zZWNvbmRhcnk6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtYnRuLS1zZWNvbmRhcnk6aG92ZXIsIC5jLWJ0bi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjczMztcbn1cblxuLmMtYnRuLS10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNGE4ZWMyO1xufVxuLmMtYnRuLS10ZXJ0aWFyeSwgLmMtYnRuLS10ZXJ0aWFyeTpob3ZlciwgLmMtYnRuLS10ZXJ0aWFyeTphY3RpdmUsIC5jLWJ0bi0tdGVydGlhcnk6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNGE4ZWMyO1xufVxuLmMtYnRuLS10ZXJ0aWFyeTpob3ZlciwgLmMtYnRuLS10ZXJ0aWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMzc3NGEyO1xufVxuXG4uYy1idG4tLWRhbmdlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLWJ0bi0tZGFuZ2VyLCAuYy1idG4tLWRhbmdlcjpob3ZlciwgLmMtYnRuLS1kYW5nZXI6YWN0aXZlLCAuYy1idG4tLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjEwMUY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmMtYnRuLS1kYW5nZXI6aG92ZXIsIC5jLWJ0bi0tZGFuZ2VyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhDMDkxMTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBTaXplIHZhcmlhbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnRuLS1zbWFsbCB7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4uYy1idG4tLWxhcmdlIHtcbiAgcGFkZGluZzogMjRweCA0OHB4O1xufVxuXG4vKiBHaG9zdCBidXR0b25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBHaG9zdCBidXR0b25zIGhhdmUgc2VlLXRocm91Z2ggYmFja2dyb3VuZHMgYW5kIGFyZSBib3JkZXJlZC5cbiAqL1xuLmUtc2hhcmVkLWxpbmtzIGEge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDExcHggMjNweDtcbn1cbi5lLXNoYXJlZC1saW5rcyBhLCAuZS1zaGFyZWQtbGlua3MgYTpob3ZlciwgLmUtc2hhcmVkLWxpbmtzIGE6YWN0aXZlLCAuZS1zaGFyZWQtbGlua3MgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLWJ0bi0tZ2hvc3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHBhZGRpbmc6IDExcHggMjNweDtcbn1cbi5jLWJ0bi0tZ2hvc3QsIC5jLWJ0bi0tZ2hvc3Q6aG92ZXIsIC5jLWJ0bi0tZ2hvc3Q6YWN0aXZlLCAuYy1idG4tLWdob3N0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5jLWJ0bi0tZ2hvc3QuYy1idG4tLXNtYWxsIHtcbiAgcGFkZGluZzogNXB4IDExcHg7XG59XG4uYy1idG4tLWdob3N0LmMtYnRuLS1sYXJnZSB7XG4gIHBhZGRpbmc6IDIzcHggNDdweDtcbn1cbi5jLWJ0bi0tZ2hvc3QuYy1idG4tLXByaW1hcnkge1xuICBjb2xvcjogIzRhOGVjMjtcbn1cbi5jLWJ0bi0tZ2hvc3QuYy1idG4tLXByaW1hcnk6aG92ZXIsIC5jLWJ0bi0tZ2hvc3QuYy1idG4tLXByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzM3NzRhMjtcbn1cbi5jLWJ0bi0tZ2hvc3QuYy1idG4tLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMmY0MDU0O1xufVxuLmMtYnRuLS1naG9zdC5jLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyLCAuYy1idG4tLWdob3N0LmMtYnRuLS1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzFkMjczMztcbn1cbi5jLWJ0bi0tZ2hvc3QuYy1idG4tLXRlcnRpYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1idG4tLWdob3N0LmMtYnRuLS10ZXJ0aWFyeTpob3ZlciwgLmMtYnRuLS1naG9zdC5jLWJ0bi0tdGVydGlhcnk6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtYnRuLS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5jLWJ0bi0td2lkZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wdXQtLWRlZmF1bHQsIHNlbGVjdCB7XG4gIGhlaWdodDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IHNvbGlkIDFweCAjZTRlNGU0O1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBtaW4td2lkdGg6IDI2MHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uaW5wdXQtLWRlZmF1bHQ6OnBsYWNlaG9sZGVyLCBzZWxlY3Q6OnBsYWNlaG9sZGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLmlucHV0LS1kZWZhdWx0Ojpmb2N1cywgc2VsZWN0Ojpmb2N1cyB7XG4gIG91dGxpbmU6IHNvbGlkIDJweCByZ2JhKDEwMSwgMTg3LCAyNTUsIDAuNDE5NjA3ODQzMSk7XG4gIG91dGxpbmUtY29sb3I6IHJnYmEoMTAxLCAxODcsIDI1NSwgMC40Mik7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmlucHV0LS1zaWduLWluIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIG1pbi13aWR0aDogMzYwcHg7XG59XG5cbi8qXG4uYXNzaWdubWVudC1pbmRleC0tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuKi9cbmMtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuYy1ncmlkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZmxleDogMSAxIDEwMCU7XG4gIG1heC13aWR0aDogMzIlO1xufVxuXG5jLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qXG4uYXNzaWdubWVudC1pbmRleC0tY2FyZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2U0ZTRlNDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDRweCAjZTRlNGU0O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHdpZHRoOiAzMiU7XG59XG4qL1xuYy1jYXJkIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2U0ZTRlNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCAjZTRlNGU0O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgd2lkdGg6IDMyJTtcbn1cblxuYy1jYXJkLS13aWRlIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2U0ZTRlNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCAjZTRlNGU0O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mcmFtZWQtcWEge1xuICBtYXJnaW4tdG9wOiAxLjRlbTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNlNGU0ZTQ7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC0xOCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm1hdGVyaWFsLWljb25zLm1kLTI0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4ubWF0ZXJpYWwtaWNvbnMubWQtMzYge1xuICBmb250LXNpemU6IDM2cHg7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC00OCB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbn1cblxuLm1hdGVyaWFsLWljb25zLWdyZXkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxubmF2IHtcbiAgY29sb3I6ICMwMDhjYmY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIyOCwgMjI4LCAyMjgpO1xufVxubmF2IGEge1xuICBjb2xvcjogIzAwOGNiZjtcbn1cbm5hdiAubmF2LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cbm5hdiAuYnJhbmQtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICMwMDhjYmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIG5hdiAuYnJhbmQtbG9nbyB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbn1cbm5hdiAubmF2LXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDMycHg7XG4gIHBhZGRpbmc6IDI4cHggMDtcbn1cbm5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbn1cbm5hdiB1bC5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbm5hdiB1bCBsaSB7XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIG5hdiB1bCBsaSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxufVxubmF2IHVsIGEge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIGZvbnQtc2l6ZTogMC44NnJlbTtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGNvbG9yOiAjMDA4Y2JmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICBuYXYgdWwgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgfVxufVxubmF2IHVsIGEuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZmNmZjtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMwMDhjYmY7XG59XG5uYXYgdWwgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWZjZmY7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMDA4Y2JmO1xufVxubmF2LmxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiZjtcbn1cblxuLmMtZm9vdGVyLXRleHQtLWNvbG9yIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYy1mb290ZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1mb290ZXItbGlzdCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1sYW5kaW5ncGFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggI2U0ZTRlNDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5jLWxhbmRpbmdwYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIH1cbn1cblxuLmMtbGFuZGluZ3BhZ2Utd2VsY29tZS1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1sYW5kaW5ncGFnZS13ZWxjb21lLWxlZnQgaDEsIC5jLWxhbmRpbmdwYWdlLXdlbGNvbWUtbGVmdCBoMyB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmMtbGFuZGluZ3BhZ2Utd2VsY29tZS1yaWdodCB7XG4gIGZsZXg6IDI7XG59XG4uby1sYWJlbC0tcmVtZW1iZXIge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5lLXNoYXJlZC1saW5rcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMDA4Y2JmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWxpbmstLWNhbmNlbCwgLmMtbGluay0tZGVsZXRlIHtcbiAgY29sb3I6ICM1ODU4NTg7XG59XG5cbi5xdWVzdGlvbmFyaWUtaGVhZGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucXVlc3Rpb25uYWlyZS1ndWlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYzZjQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuc3Bhbi5xdWVzdGlvbi1udW1iZXItY291bnQge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOWRjOTtcbn1cblxuc3Bhbi5xdWVzdGlvbi1udW1iZXItdG90YWwge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOWRjOTtcbn1cblxuYy1jYXJkLS1pbmZvIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2YxZjNmNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjFmM2Y0O1xuICB3aWR0aDogMzIlO1xufVxuXG4uYy12aWV3LS1mb3Jnb3QtcGFzc3dvcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNHB4ICNlNGU0ZTQ7XG59XG5cbi5jLXZpZXctLWZvcmdvdC1wYXNzd29yZC1sZWZ0IHtcbiAgZmxleDogMztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYy12aWV3LS1mb3Jnb3QtcGFzc3dvcmQtbGVmdCBoMiwgLmMtdmlldy0tZm9yZ290LXBhc3N3b3JkLWxlZnQgcCwgLmMtdmlldy0tZm9yZ290LXBhc3N3b3JkLWxlZnQgc3Ryb25nIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYy12aWV3LS1mb3Jnb3QtcGFzc3dvcmQtcmlnaHQge1xuICBmbGV4OiAyO1xufVxuXG4vKlxuRGlzcGxheWluZyBub3RpZmljYXRpb25zLCB3ZSBkb24ndCBkaXN0aW5ndWlzaCBiZXR3ZWVuIG5vdGlmaWNhdGlvbnMgYW5kIGFsZXJ0c1xudHJpZ2dlcmVkIGZyb20gIDwlPSBub3RpY2UgJT4gYW5kICA8JT0gYWxlcnQgJT4gXG4qL1xuI25vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRvcDogNjRweDtcbn1cblxuLmMtbm90aWZpY2F0aW9ucy0tbm90aWNlLCAuYy1ub3RpZmljYXRpb25zLS1hbGVydCB7XG4gIHdpZHRoOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIGJhY2tncm91bmQ6ICM1ODU4NTg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTBweCAyNXB4O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbn1cblxuLypcbiogIE1vYmlsZSB1c2VyIHdpbGwgb25seSBiZSBlcG9zZWQgdG86XG4qICAtIExvZ2luL291dFxuKiAgLSBSZXNldCBwYXNzd29yZFxuKiAgLSBkYWlseSBzdWJtaXRzXG4qICAtIFZpZXcgZ3JhcGhcbiovXG4uaGlkZS1mb3ItbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5oaWRlLWZvci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbioge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5cbi53aWRlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb2x1bW4tcXVlc3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJvdy1xdWVzdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAxNnB4IDRweCAxNnB4IDRweDtcbn1cblxuLmNvbHVtbi1xdWVzdGlvbnMta2V5cyB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIG1pbi13aWR0aDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG59XG5cbi5jb2x1bW4tcXVlc3Rpb25zLXJlc3BvbnNlIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbWluLXdpZHRoOiA3MCU7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuXG4uY29sdW1uLXF1ZXN0aW9ucy1yYWRpby1idXR0b25zIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbWluLXdpZHRoOiAxMCU7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuXG4vKiBUeXBvZ3JhcGh5Ki9cbmgzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jb2x1bW4tcXVlc3Rpb25zLXJlc3BvbnNlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbjogMCAtMjBweCAwIC0zMnB4O1xufVxuXG4ubG9naW4tYm94LS1mb28ge1xuICBtYXJnaW4tdG9wOiAxMHZoO1xufVxuXG4uYy10aGVtZS1ib3JkZXItLWxpZ2h0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5yZXNwb25zZS1zZWxlY3RlZCB7XG4gIGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbmlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogc29saWQgMnB4IHJnYmEoMTAxLCAxODcsIDI1NSwgMC40MTk2MDc4NDMxKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy12aWV3LS1mb3Jnb3QtcGFzc3dvcmQtbGVmdCBwIGEge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG59XG5cbi5uYXYtd3JhcHBlciBhIGltZyB7XG4gIG1heC1oZWlnaHQ6IDY0cHg7XG59XG5cbi5jLWxhbmRpbmdwYWdlIHAgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxudGgsIHRkIHtcbiAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuI2NoYXJ0X2xpbmVzIHtcbiAgbWFyZ2luLXRvcDogLTI0cHg7XG59XG5cbi5tZWFzdXJlbWVudHMtZ3JhcGggaDMge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuaGlkZS1vbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLmhpZGUtb24tc2NyZWVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIGhlYWRlciwgZm9vdGVyLCAjY29uc29sZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLnF1ZXN0aW9uLXdpdGgtcmVzcG9uc2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICB9XG59XG5cbi5iYXItMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBncmVlbiwgeWVsbG93LCByZWQpO1xuICB3aWR0aDogMjQwcHg7XG59XG5cbi5iYXItMCAucmVhZGluZyB7XG4gIHdpZHRoOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBtaW4taGVpZ2h0OiAxNXB4O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBmb250LXNpemU6IHNtYWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZwdCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTZwdCAhaW1wb3J0YW50O1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEycHQgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTJwdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDJwdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbi10b3AtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDhwdCAhaW1wb3J0YW50O1xuICB9XG4gIC5xdWVzdGlvbi13aXRoLXJlc3BvbnNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdfQ== */
